aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mxge/mxge_mcp.h
Commit message (Collapse)AuthorAgeFilesLines
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+1
| | | | | | | | | | | | | | | 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
* Fix undefined behavior: (1 << 31) is not defined as 1 is an int and thisEitan Adler2013-11-301-1/+1
| | | | | | | | | | | | | | | | shifts into the sign bit. Instead use (1U << 31) which gets the expected result. This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases. A similar change was made in OpenBSD. Discussed with: -arch, rdivacky Reviewed by: cperciva Notes: svn path=/head/; revision=258780
* Better support for recent Myricom 10GbE NICsAndrew Gallatin2009-02-171-84/+93
| | | | | | | | | | | | | | | | | | | | - Update to firmware 1.4.39 for dual-chip NIC (10G-PCIE2-xxx) support, and SFP+ i2c support - Identify newer "B" NICs (10G-PCIEx-8B-x) correctly, rather than mis-identifying them as "A" NICs (cosmetic only) - Identify the IFM_10G_LRM ifmedia type, where applicable. - Identify ifmedia types for SFP+ based NICs - Update copyright Sponsored by: Myricom MFC after: 1 week Notes: svn path=/head/; revision=188736
* Update to Myri10GE firmware version 1.4.33 from 1.4.29. Relevant changes ↵Andrew Gallatin2008-10-011-9/+57
| | | | | | | | | | | | | | | | | include: - Support for Myricom 10G-PCIE-8B NICs - multi-slice firmware: fix a bug when the presence of 32-bit or 64-bit DMA addresses for interrupt queues and data is not uniform across slices. - Improves automatic selection between ethp_z8e/eth_z8e Sponsored by: Myricom Inc. Notes: svn path=/head/; revision=183515
* Add optional support to mxge for MSI-X interrupts and multiple receiveAndrew Gallatin2008-01-151-12/+61
| | | | | | | | | | | | | queues (which we call slices). The NIC will steer traffic into up to hw.mxge.max_slices different receive rings based on a configurable hash type (hw.mxge.rss_hash_type). Currently the driver defaults to using a single slice, so the default behavior is unchanged. Also, transmit from non-zero slices is disabled currently. Notes: svn path=/head/; revision=175365
* - Fix a bug which could cause a panic when enabling LROAndrew Gallatin2007-08-221-3/+91
| | | | | | | | | | | | | | on an down mxge interface - Fix a bug where mxge reported the link state as active when it wasn't (after ifconfig down). - Prevent spurious watchdog resets when link partner is not consuming - Add support for CX4 and popular XFP media detection - Update the firmware and associated header files to 1.4.25 Approved by: re (kensmith) Notes: svn path=/head/; revision=171917
* Update the mxge(4) driver's copyright to 2007, and dropAndrew Gallatin2007-07-121-6/+2
| | | | | | | | | the binary distribution clause. Approved by: re (bmah) Notes: svn path=/head/; revision=171405
* Improve mxge receive performance:Andrew Gallatin2007-05-211-1/+11
| | | | | | | | | | | | | | | | | | - Update to the latest (1.4.18) f/w. This f/w introduces a new receive mode which allows us to use FreeBSD's physically discontinuous MJUM9BYTES clusters. - Switch the driver from chaining MJUMPAGESIZE clusters to using MJUM9BYTES clusters to avoid mbuf chaining overheads. Due to this change, people running obsolete f/w images will be limited to an MTU of PAGE_SIZE - 16. - Add (disabled by default) support for Large Receive Offload. Sponsored by: Myricom, Inc. Notes: svn path=/head/; revision=169840
* Firmware update & improvements to firmware selection:Andrew Gallatin2007-05-081-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | - Update to latest (1.4.17) firmware. - Use the new MXGEFW_CMD_UNALIGNED_TEST (added in firmare 1.4.16) to have the firmware tell us if the PCIe chipset supports aligned PCIe completions. - Hard to maintain, and frequently out of date whitelist of PCIe chipsets known to produce aligned completions removed, as it has been replaced in its role of selecting the correct firmware to run by the use of MXGEFW_CMD_UNALIGNED_TEST. - Break the dma test out of mxge_reset() and into its own function (mxge_dma_test()) so it can be used by both the normal DMA test, and to run the unaligned test. - Improved support for enabling ECRCs Sponsored by: Myricom Inc. Notes: svn path=/head/; revision=169376
* - Updated to the latest myri10ge firmwareAndrew Gallatin2006-09-151-5/+42
| | | | | | | | | | | | | | - Added support for multicast filtering, now that the firmware supports it. Note that this is not yet tested, as multicast seems to panic -current (even w/o mxge loaded) - Added workaround to cope with different irq data struct size on pre-multicast firmware which can found running on nics. - Added Intel E5000 PCIe chipsets to list providing aligned completions. - Replaced various magic constants with #defines, now that they are defined in the firmware headers. Notes: svn path=/head/; revision=162328
* Update the mxge driver.Andrew Gallatin2006-06-141-107/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update the firmware to the latest released firmware (1.4.3), which corresponds to the firmware in the latest shipping drivers from Myricom. This firmware fixes several bugs in the firmware's PCI-e implementation, and it also changes the driver/firmware interface: o TSO was added, and changed the format of the transmit descriptors. o The firmware no longer counts transmits descriptors, but frames. So the driver needs to keep a count of the number of frames sent. o The weird interrupt strategy changed to a normal receive return ring. This ring is much bigger, and we may be able to support DEVICE_POLLING. o Myricom's header files changed the name of firmware related #define's and enums (s/_MCP_/FW_). - Stopped spamming the console with lots of printfs unless mxge_verbose (or bootverbose) is set. - Made additional information available via sysctl, including the results of a PCI-e DMA benchmark run at device reset. - Decreased the excessively long timeouts when sending commands from 2 seconds to 20ms. Sponsored by: Myricom Inc. Notes: svn path=/head/; revision=159612
* - Complete the myri10ge -> mxge name change by doing a mechanicalAndrew Gallatin2006-06-131-67/+67
| | | | | | | | | s/myri10ge/mxge/g replacement in the myri10ge files. A few contuation lines were joined because of the regained columns. - Hook the mxge driver back to the build. Notes: svn path=/head/; revision=159571
* 10GbE mode driver and binary firmware for Myricom's PCI-express NICs.Andrew Gallatin2006-02-191-0/+265
More info regarding these nics can be found at http://www.myri.com. Please note that the files sys/dev/myri10ge/{mcp_gen_header.h,myri10ge_mcp.h} are internally shared between all our drivers (solaris, macosx, windows, linux, etc). I'd like to keep these files unchanged, so I can just import newer versions of them when the firmware API/ABI changes. This means I'm stuck with some of the crazy-long #define names, and possibly non-style(9) characteristics of these files. Many thanks to mlaier for doing firmware(9) just as I needed it, and to scottl for his helpful review. Reviewed by: scottl, glebius Sponsored by: Myricom Inc. Notes: svn path=/head/; revision=155852