summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge/mxge_mcp.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix undefined behavior: (1 << 31) is not defined as 1 is an int and thiseadler2013-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
* Better support for recent Myricom 10GbE NICsgallatin2009-02-171-85/+94
| | | | | | | | | | | | | | | | | - 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
* Update to Myri10GE firmware version 1.4.33 from 1.4.29. Relevant changes ↵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.
* Add optional support to mxge for MSI-X interrupts and multiple receivegallatin2008-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.
* - Fix a bug which could cause a panic when enabling LROgallatin2007-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)
* Update the mxge(4) driver's copyright to 2007, and dropgallatin2007-07-121-6/+2
| | | | | | the binary distribution clause. Approved by: re (bmah)
* Improve mxge receive performance: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.
* Firmware update & improvements to firmware selection: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.
* - Updated to the latest myri10ge firmwaregallatin2006-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.
* Update the mxge driver.gallatin2006-06-141-114/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* - Complete the myri10ge -> mxge name change by doing a mechanicalgallatin2006-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.
* 10GbE mode driver and binary firmware for Myricom's PCI-express NICs.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.
OpenPOWER on IntegriCloud