aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/cxgb/common
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line bare tagWarner Losh2023-08-166-12/+0
| | | | Remove /^\s*\$FreeBSD\$$\n/
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-169-19/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-162-4/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-05-1215-15/+15
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* Mechanically convert cxgb(4) and cxgbe(4) to IfAPIJustin Hibbits2023-03-071-2/+2
| | | | | | Reviewed by: np Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38597
* cxgb(4): Fix a typo in a source code commentGordon Bergling2022-07-311-1/+1
| | | | | | | - s/collissions/collisions/ Obtained from: NetBSD MFC after: 3 days
* Fix typo on "Celsius"Elyes HAOUAS2021-11-191-1/+1
| | | | | | | "Celcius" --> "Celsius" Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Pull Request: https://github.com/freebsd/freebsd-src/pull/551/files
* cxgb: Use device_t in preference to struct device *Mark Johnston2021-04-121-1/+1
| | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation
* Convert to if_foreach_llmaddr() KPI.Gleb Smirnoff2019-10-211-19/+30
| | | | Notes: svn path=/head/; revision=353840
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-2715-1/+15
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* sys/dev: minor spelling fixes.Pedro F. Giffuni2016-05-031-5/+5
| | | | | | | Most affect comments, very few have user-visible effects. Notes: svn path=/head/; revision=298955
* cxgb: replace r273280 with a more comprehensive fix.Navdeep Parhar2015-01-117-32/+57
| | | | | | | | | | | | | | | | Poll for link state when the link is down, even for interrupt capable PHYs. Allow PHYs to report a dubious "partial" link. If this state is seen 3 consecutive times (each check is ~1s apart) then reset the PHY. This is a workaround for a situation where repeatedly toggling the link from the peer gets the AEL2005 PHY into a state where it never establishes a PCS block lock even when everything is in order. MFC after: 1 week Notes: svn path=/head/; revision=276959
* cxgb(4): reset the PHY if it generates an interrupt for no apparent reason.Navdeep Parhar2014-10-191-1/+3
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=273280
* In sys/dev/cxgb/common/cxgb_mc5.c, remove static functionDimitry Andric2013-12-251-7/+0
| | | | | | | | | dbgi_wr_addr3(), which is unused since r167514. MFC after: 3 days Notes: svn path=/head/; revision=259896
* - Correct mispellings of the word occurrenceGabor Kovesdan2013-04-171-1/+1
| | | | | | | Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail) Notes: svn path=/head/; revision=249582
* - Updated TOE support in the kernel.Navdeep Parhar2012-06-191-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features. - iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon. Build-tested with make universe. 30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible) Notes: svn path=/head/; revision=237263
* Fix return value of function.Navdeep Parhar2011-12-231-1/+1
| | | | | | | Submitted by: Dan McGregor <dan dot mcgregor at usask dot ca> Notes: svn path=/head/; revision=228825
* Update T3 firmware to 7.11.0Navdeep Parhar2011-03-251-1/+1
| | | | | | | | | | | | | | | | | | | Changes since 7.8.0 (from the official changelog): - Fixed sporadic interrupt generation for associated CQ when processing a local invalidate work request - Changes to core scheduling to avoid starving requests from the host under heavy RDMA Read Request load (e.g. packets to the wire) - Programmed the tp tx resource limiter in function of the traffic (only affects iWarp) - Increased the egress NIC gather list length from 36 to 46 entries MFC after: 1 week Notes: svn path=/head/; revision=220009
* T3C initialization should setup the parity fence too.Navdeep Parhar2011-03-241-2/+3
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=219945
* Fix t3_gate_rx_traffic and t3_open_rx_traffic. Parts of them always operatedNavdeep Parhar2010-09-151-9/+13
| | | | | | | | | on XGMAC0 instead of the specified XGMAC. MFC after: 3 days Notes: svn path=/head/; revision=212710
* Fix tx pause quanta and timer calculations.Navdeep Parhar2010-08-151-12/+10
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=211347
* Always reset the XGMAC's XAUI PCS on a link up.Navdeep Parhar2010-08-153-12/+58
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=211346
* Improve cxgb(4)'s behaviour when faced with temporarily "bouncy" links:Navdeep Parhar2010-07-093-13/+13
| | | | | | | | | | | | | | | | | - Run the adapter's tick at 1Hz and remove link state checks from it. Instead, have each port check its link state. Delay the check so that it takes place slightly after the driver is notified of a change in link state. This is a cheap way to debounce these notifications if many are received in rapid succession. POLL_LINK_1ST_TIME flag can also be eliminated as a side effect of these changes. - Do not reset the PHY when link goes down. - Clear port's link_fault flag if the PHY indicates link is down. - get_link_status_r should leave speed and duplex alone when link is down. MFC after: 1 month Notes: svn path=/head/; revision=209841
* Eliminate ext_intr_task. The "slow" interrupt handler is alreadyNavdeep Parhar2010-07-092-3/+2
| | | | | | | | | | running on the adapter's task queue. Just do what the task does instead of enqueueing it. MFC after: 3 days Notes: svn path=/head/; revision=209840
* Multiple fixes related to queue set sizing and resources:Navdeep Parhar2010-03-312-2/+3
| | | | | | | | | | | | | | | | | | | - Only the tunnelq (TXQ_ETH) requires a buf_ring, an ifq, and the watchdog/timer callouts. Do not allocate these for the other tx queues. - Use 16k jumbo clusters only on offload capable cards by default. - Do not allocate a full tx ring for the offload queue if the card is not offload capable. - Slightly better freelist size calculation. - Fix nmbjumbo4 typo, remove unneeded global variables. MFC after: 3 days Notes: svn path=/head/; revision=205950
* Improved PHY EDC settings.Navdeep Parhar2010-03-311-371/+422
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=205945
* Better TwinAx transceiver detection.Navdeep Parhar2010-03-091-1/+13
| | | | | | | | | | Originally submitted by: <Bruno dot Bittner at isilon dot com> (This is a rewritten, corrected version of that patch) MFC after: 1 week Notes: svn path=/head/; revision=204921
* There is no need to test __FreeBSD_version for features that haveNavdeep Parhar2010-02-243-55/+0
| | | | | | | | | | | | | | been around for a long time now (7.1-ish or even earlier); assume they are present. These includes MSI, TSO, LRO, VLAN, INTR_FILTERS, FIRMWARE, etc. Also, eliminate some dead code and clean up in other places as part of this quick once-over. MFC after: 1 week Notes: svn path=/head/; revision=204274
* Extra parantheses to keep certain compilers happy.Navdeep Parhar2010-01-091-1/+1
| | | | | | | Submitted by: trasz@ Notes: svn path=/head/; revision=201907
* T3 firmware 7.8.0 for cxgb(4)Navdeep Parhar2009-12-011-1/+1
| | | | | | | | Obtained from: Chelsio MFC after: 3 days Notes: svn path=/head/; revision=200003
* The 10GBASE-T card should use an IPG of 1. Also enable the checkNavdeep Parhar2009-11-132-3/+1
| | | | | | | for low power startup on this card. Notes: svn path=/head/; revision=199239
* Make sure *some* edc is setup even for an unknown transceiver (assumeNavdeep Parhar2009-11-131-2/+2
| | | | | | | it is optical). Notes: svn path=/head/; revision=199238
* cxgb(4) updates, including:Navdeep Parhar2009-10-059-223/+1851
| | | | | | | | | | | | | - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates. Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month Notes: svn path=/head/; revision=197791
* Greatly simplify cxgb by removing almost all of the custom mbuf management logicKip Macy2009-06-191-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove mbuf iovec - useful, but adds too much complexity when isolated to the driver - remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead - remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers - remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets - remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters - add hysteresis to descriptor coalescing logic - add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP - add once per second watchdog to effectively close the very rare races occurring from coalescing - incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints) - enable prefetches in get_packet and tx cleaning Reviewed by: navdeep@ MFC after: 2 weeks Notes: svn path=/head/; revision=194521
* Integrate three changes from Chelsio.George V. Neville-Neil2009-05-213-79/+129
| | | | | | | | | | | | | 1) Add a sysctl that will say what type of PHYs exist on the card. 2) Fix a bug that occurs when an AEL 2005 PHY resets without a transciever in the card. 3) Unify the PHY link detection code. Obtained from: Navdeep Parhar MFC after: 10 days Notes: svn path=/head/; revision=192540
* Update the Chelsio driver to the latest bits from ChelsioGeorge V. Neville-Neil2009-03-105-233/+792
| | | | | | | | | | | | | | | Firmware upgraded to 7.1.0 (from 5.0.0). T3C EEPROM and SRAM added; Code to update eeprom/sram fixed. fl_empty and rx_fifo_ovfl counters can be observed via sysctl. Two new cxgbtool commands to get uP logic analyzer info and uP IOQs Synced up with Chelsio's "common code" (as of 03/03/09) Submitted by: Navdeep Parhar at Chelsio Reviewed by: gnn MFC after: 2 weeks Notes: svn path=/head/; revision=189643
* Check in the actual module recognition code for the ChelsioGeorge V. Neville-Neil2008-12-181-32/+102
| | | | | | | | | driver. Obtained from: Chelsio Inc. Notes: svn path=/head/; revision=186282
* Bug fix to support N310 version of Chelsio cards (board ID 1088).George V. Neville-Neil2008-12-061-0/+6
| | | | | | | | Obtained from: Chelsio Inc. MFC after: 3 days Notes: svn path=/head/; revision=185662
* Fix a bug with the ael1006 PHY. The bug shows up as persistent but incompleteGeorge V. Neville-Neil2008-12-041-0/+10
| | | | | | | | | | | packet loss, of between 10-30%. The fix is to put the PHY into and take it out of local loopback mode when resetting the interface. Obtained from: Chelsio Inc. MFC after: 3 days Notes: svn path=/head/; revision=185620
* Bug fix from Chelsio which addresses the issue of the device resettingGeorge V. Neville-Neil2008-12-021-25/+2
| | | | | | | | | | | | when it sees only received packets. In some cases where a device only recieves data it mistakenly thinks that its transmitting side is broken and resets the device. Obtained from: Chelsio Inc. MFC after: 3 days Notes: svn path=/head/; revision=185564
* Several small additions to the Chelsio 10G driver.George V. Neville-Neil2008-11-213-2/+19
| | | | | | | | | | | | | | | | 1) Fix a bug in dealing with the Alerus 1006 PHY which prevented the device from ever coming back up once it had been set to down. 2) Add a kernel tunable (hw.cxgb.snd_queue_len) which makes it possible to give the device more than IFQ_MAXLEN entries in its send queue. The default remains 50. 3) Add code to place the card'd identification and serial number into its description (%desc) so that users can tell which card they have installed. Notes: svn path=/head/; revision=185157
* Update firmware version checkKip Macy2008-11-122-3/+9
| | | | | | | | | | make ddp a tunable Obtained from: Chelsio Inc. MFC after: 3 days Notes: svn path=/head/; revision=184861
* Update cxgb include paths to not require prefixing with dev/cxgbKip Macy2008-09-239-41/+0
| | | | | | | Submitted by: Chelsio Inc. Notes: svn path=/head/; revision=183292
* White space cleanups to bring closer to RELENG_7Kip Macy2008-09-161-1/+1
| | | | Notes: svn path=/head/; revision=183062
* Vendor fix for PHY problem.Kip Macy2008-08-115-89/+759
| | | | | | | | Obtained from: Chelsio Inc. MFC after: 3 days Notes: svn path=/head/; revision=181614
* new vendor PHY supportKip Macy2008-07-181-0/+225
| | | | Notes: svn path=/head/; revision=180586
* import vendor fixes to cxgbKip Macy2008-07-188-138/+603
| | | | Notes: svn path=/head/; revision=180583
* - Integrate 1.133 vendor driver changesKip Macy2008-03-183-7/+7
| | | | | | | | | - update some copyrights - add improved support for delayed ack - fix issue with fec Notes: svn path=/head/; revision=177340
* - update firmware to 5.0Kip Macy2008-02-2313-644/+1881
| | | | | | | | | | | | | | | | | | | | - 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 Notes: svn path=/head/; revision=176472
* - make 9k clusters the default unless a tunable is setKip Macy2008-01-101-0/+1
| | | | | | | | | | | | | | | - return the error from cxgb_tx_common so that when an error is hit we dont spin forever in the taskq thread - remove unused rxsd_ref - simplify header_offset calculation for embedded mbuf headers - fix memory leak by making sure that mbuf header initialization took place - disable printf's for stalled queue, don't do offload/ctrl queue restart when tunnel queue is restarted - add more diagnostic information about the txq state - add facility to dump the actual contents of the hardware queue using sysctl Notes: svn path=/head/; revision=175200