aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bnxt
Commit message (Collapse)AuthorAgeFilesLines
* Use C99 initializers for iflib function tables.Mark Johnston2018-04-111-8/+8
| | | | | | | | | Reviewed by: sbruno MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D15041 Notes: svn path=/head/; revision=332409
* Revert r327828, r327949, r327953, r328016-r328026, r328041:Pedro F. Giffuni2018-01-211-10/+9
| | | | | | | | | | | | | | | | | | Uses of mallocarray(9). The use of mallocarray(9) has rocketed the required swap to build FreeBSD. This is likely caused by the allocation size attributes which put extra pressure on the compiler. Given that most of these checks are superfluous we have to choose better where to use mallocarray(9). We still have more uses of mallocarray(9) but hopefully this is enough to bring swap usage to a reasonable level. Reported by: wosch PR: 225197 Notes: svn path=/head/; revision=328218
* dev: make some use of mallocarray(9).Pedro F. Giffuni2018-01-131-9/+10
| | | | | | | | | | | | | | Focus on code where we are doing multiplications within malloc(9). None of these is likely to overflow, however the change is still useful as some static checkers can benefit from the allocation attributes we use for mallocarray. This initial sweep only covers malloc(9) calls with M_NOWAIT. No good reason but I started doing the changes before r327796 and at that time it was convenient to make sure the sorrounding code could handle NULL values. Notes: svn path=/head/; revision=327949
* Add log messages for unknown and unhandled phy typesStephen Hurd2017-12-191-1/+6
| | | | | | | | | | | | Previously, it silently only supported auto, instead, log a message indicating why only auto is supported. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D13358 Notes: svn path=/head/; revision=327003
* On Link up & down, update media typesStephen Hurd2017-12-191-0/+4
| | | | | | | | | | | It's possible to change the SFP module when link is down, which would change the available media types. This is part of D13358. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=327001
* Support short HWRM commandsStephen Hurd2017-12-194-1/+61
| | | | | | | | | | | | | New Stratus bnxt devices require support for short HWRM commands for VFs to function. Enable their use, but only use them if it's both supported and required... prefer the long HWRM commands when possible. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D13269?id=36180 Notes: svn path=/head/; revision=327000
* Don't populate NVRAM sysctls for VFsStephen Hurd2017-12-192-25/+34
| | | | | | | | | | Only the PF allows NVRAM interaction on bnxt devices. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=326999
* Add byte swapping in bnxt_cfg_async_cr() requestStephen Hurd2017-12-191-3/+3
| | | | | | | | | | | The firmware is always in little endian, use htole*() for all request fields larger than one byte. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=326985
* iflib: Support to padding Ethernet frames to a min sizeStephen Hurd2017-12-052-1/+4
| | | | | | | | | | | | | Some bnxt devices do not correctly send frames smaller than 52 bytes (without CRC), so add a quirk that will pad frames to an arbitrary size before passing off to the encap routine. Reported by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13269 Notes: svn path=/head/; revision=326578
* Fix issue with VXLAN-ecapsulated rx h/w checksumming.Sean Bruno2017-11-091-2/+4
| | | | | | | | | Submitted by: grehan Reviewed by: bhargava.marreddy@broadcom.com Differential Revision: https://reviews.freebsd.org/D12976 Notes: svn path=/head/; revision=325620
* bnxt: Add support for new phy_types and speeds - Part #2Stephen Hurd2017-11-061-163/+15
| | | | | | | | | | | | | | | | | | | Use our ifm_list of supported media types rather than nested switch statements to find the current media type. Find a supported type that matches the current speed. Remove all workarounds while updating ifmr->ifm_active. For BNXT_IFMEDIA_ADD, added Three more speeds IFM_10G_T, IFM_2500_T & IFM_2500_KX. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12896 Notes: svn path=/head/; revision=325488
* bnxt: Add support for new phy_types and speedsStephen Hurd2017-10-302-108/+70
| | | | | | | | | | | | | | | 1) Add new phy_types and speeds from the latest firmware header. 2) Introduced a macro to avoid code duplication and improve readability for the invocation of ifmedia_add(). Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12423 Notes: svn path=/head/; revision=325169
* bnxt: add support for Flow control setting using sysctlStephen Hurd2017-10-246-89/+186
| | | | | | | | | | | | | | | | | | | | | | | Created sysctl node dev.bnxt.0.fc with following options. A. dev.bnxt.0.fc.autoneg B. dev.bnxt.0.fc.rx C. dev.bnxt.0.fc.tx Description:- dev.bnxt.0.fc: flow ctrl dev.bnxt.0.fc.autoneg: Enable or Disable Autoneg Flow Ctrl: 0 / 1 dev.bnxt.0.fc.rx: Enable or Disable Rx Flow Ctrl: 0 / 1 dev.bnxt.0.fc.tx: Enable or Disable Tx Flow Ctrl: 0 / 1 Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12599 Notes: svn path=/head/; revision=324964
* bnxt: fix intermittent VLAN issuesStephen Hurd2017-10-051-0/+1
| | | | | | | | | | | | | | | bnxt_init() is invokes Function Reset (bnxt_hwrm_func_reset) and thus FW configuration for VLANs get erased. To fix this, in bnxt_init(), Invoking HWRM to configure VLANs (bnxt_hwrm_cfa_l2_set_rx_mask). Submitted by: Siva Kallam <siva.kallam@@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12527 Notes: svn path=/head/; revision=324323
* Fix "taskqgroup_attach: setaffinity failed: 3" with iflib driversStephen Hurd2017-10-051-2/+1
| | | | | | | | | | | | | | | | Improved logging added in r323879 exposed an error during attach. We need the irq, not the rid to work correctly. em uses shared irqs, so it will use the same irq for TX as RX. bnxt does not use shared irqs, or TX irqs at all, so there's no need to set the TX irq affinity. Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12496 Notes: svn path=/head/; revision=324318
* Add PNP metadata to more driversConrad Meyer2017-09-261-0/+2
| | | | | | | | | | | | | | | GPUs: radeonkms, i915kms NICs: if_em, if_igb, if_bnxt This metadata isn't used yet, but it will be handy to have later to implement automatic module loading. Reviewed by: imp, mmacy Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12488 Notes: svn path=/head/; revision=324038
* bnxt: Choose better HW LRO defaults for performanceStephen Hurd2017-09-236-28/+156
| | | | | | | | | | | | | | | | | | | | | | | 1) Choose correct Firmware options for HW LRO for best performance 2) Delete TBD and other comments which are not required. 3) Added sysctl interface to enable / disable / modify different factors of HW LRO. 4) Disabled HW LRO by default to avoid issues with packet forwarding This allows much better control over the LRO configuration via sysctls, and uses much better defaults. Hardware LRO can now be enabled/disabled independantly from the software LRO, and the tuning parameters are exposed. manpage updates coming soon. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12223 Notes: svn path=/head/; revision=323955
* bnxt: Fix driver when attached to a VFStephen Hurd2017-09-214-15/+29
| | | | | | | | | | | | | | | | | | | | - Use HWRM_FUNC_VF_CFG instead of HWRM_FUNC_CFG on VFs - Fix NPAR/VF detection - Clean up flag definitions - Don't allow WoL on VFs Although the bnxt driver doesn't support SR-IOV so can create VFs yet, the PF could be running Linux or ESCi with a VF passed through to a FreeBSD guest. This fixes the driver for that use case. Submitted by: Siva Kallam <siva.kallam@@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12410 Notes: svn path=/head/; revision=323874
* Revert r323516 (iflib rollup)Stephen Hurd2017-09-161-2/+1
| | | | | | | | | | | | | | | This was really too big of a commit even if everything worked, but there are multiple new issues introduced in the one huge commit, so it's not worth keeping this until it's fixed. I'll work on splitting this up into logical chunks and introduce them one at a time over the next week or two. Approved by: sbruno (mentor) Sponsored by: Limelight Networks Notes: svn path=/head/; revision=323635
* Roll up iflib commits from github. This pulls in most of the work doneStephen Hurd2017-09-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Matt Macy as well as other changes which he has accepted via pull request to his github repo at https://github.com/mattmacy/networking/ This should bring -CURRENT and the github repo into close enough sync to allow small feature branches rather than a large chain of interdependant patches being developed out of tree. The reset of the synchronization should be able to be completed on github by splitting the remaining changes that are not yet ready into short feature branches for later review as smaller commits. Here is a summary of changes included in this patch: 1) More checks when INVARIANTS are enabled for eariler problem detection 2) Group Task Queue cleanups - Fix use of duplicate shortdesc for gtaskqueue malloc type. Some interfaces such as memguard(9) use the short description to identify malloc types, so duplicates should be avoided. 3) Allow gtaskqueues to use ithreads in addition to taskqueues - In some cases, this can improve performance 4) Better logging when taskqgroup_attach*() fails to set interrupt affinity. 5) Do not start gtaskqueues until they're needed 6) Have mp_ring enqueue function enter the ABDICATED rather than BUSY state. This moves the TX to the gtaskq and allows processing to continue faster as well as make TX batching more likely. 7) Add an ift_txd_errata function to struct if_txrx. This allows drivers to inspect/modify mbufs before transmission. 8) Add a new IFLIB_NEED_ZERO_CSUM for drivers to indicate they need checksums zeroed for checksum offload to work. This avoids modifying packet data in the TX path when possible. 9) Use ithreads for iflib I/O instead of taskqueues 10) Clean up ioctl and support async ioctl functions 11) Prefetch two cachlines from each mbuf instead of one up to 128B. We often need to parse packet header info beyond 64B. 12) Fix potential memory corruption due to fence post error in bit_nclear() usage. 13) Improved hang detection and handling 14) If the packet is smaller than MTU, disable the TSO flags. This avoids extra packet parsing when not needed. 15) Move TCP header parsing inside the IS_TSO?() test. This avoids extra packet parsing when not needed. 16) Pass chains of mbufs that are not consumed by lro to if_input() rather call if_input() for each mbuf. 17) Re-arrange packet header loads to get as much work as possible done before a cache stall. 18) Lock the context when calling IFDI_ATTACH_PRE()/IFDI_ATTACH_POST()/ IFDI_DETACH(); 19) Attempt to distribute RX/TX tasks across cores more sensibly, especially when RX and TX share an interrupt. RX will attempt to take the first threads on a core, and TX will attempt to take successive threads. 20) Allow iflib_softirq_alloc_generic() to request affinity to the same cpus an interrupt has affinity with. This allows TX queues to ensure they are serviced by the socket the device is on. 21) Add new iflib sysctls to net.iflib: - timer_int - interval at which to run per-queue timers in ticks - force_busdma 22) Add new per-device iflib sysctls to dev.X.Y.iflib - rx_budget allows tuning the batch size on the RX path - watchdog_events Count of watchdog events seen since load 23) Fix error where netmap_rxq_init() could get called before IFDI_INIT() 24) e1000: Fixed version of r323008: post-cold sleep instead of DELAY when waiting for firmware - After interrupts are enabled, convert all waits to sleeps - Eliminates e1000 software/firmware synchronization busy waits after startup 25) e1000: Remove special case for budget=1 in em_txrx.c - Premature optimization which may actually be incorrect with multi-segment packets 26) e1000: Split out TX interrupt rather than share an interrupt for RX and TX. - Allows better performance by keeping RX and TX paths separate 27) e1000: Separate igb from em code where suitable Much easier to understand separate functions and "if (is_igb)" than previous tests like "if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))" #blamebruno Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12235 Notes: svn path=/head/; revision=323516
* Added support for displaying HW port stats using sysctl.Stephen Hurd2017-09-086-1/+540
| | | | | | | | | | | | | | This provides port stats (updated once per second) in dev.bnxt.X.port_stats for PFs. VFs do not have access to the port stats. Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D11914 Notes: svn path=/head/; revision=323321
* bnxt: Update firmware header file with the latest oneStephen Hurd2017-09-063-1419/+14228
| | | | | | | | | | | | | | | | hsi_struct_def.h file contains all firmware (HWRM) data struct's, updated that with the latest one which was released on 30'th Aug. After this upgrade, HWRM version will be 1.8.1.5 (earlier it was 1.4.0). Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12203 Notes: svn path=/head/; revision=323233
* bnxt: Use correct firmware call for number of queues supportedStephen Hurd2017-09-064-5/+50
| | | | | | | | | | | | | | | | 1) Based on the suggestion from firmware team, derive scctx->isc_ntxqsets_max & scctx->isc_nrxqsets_max based on FUNC_QCFG (instead of FUNC_QCAPS). 2) Bump-up driver version to "1.0.0.2". Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12128 Notes: svn path=/head/; revision=323232
* Deprecate unused int isc_max_txqsets and int isc_max_rxqsets as theySean Bruno2017-07-271-4/+4
| | | | | | | | | | | were redundant and not being used to set anything up. Submitted by: Matt Macy <mmacy@mattmacy.io> Reported by: Jeb Cramer <cramerj@intel.com> Sponsored by: Limelight Networks Notes: svn path=/head/; revision=321629
* bnxt: Implement interrupt coalescing options using sysctl.Sean Bruno2017-07-255-4/+352
| | | | | | | | Submitted by: bhargava.marreddy@broadcom.com Differential Revision: https://reviews.freebsd.org/D11702 Notes: svn path=/head/; revision=321481
* bnxt(4) Enable LRO support, reduxSean Bruno2017-07-034-36/+47
| | | | | | | | | | | | | | | | | | | | | | | | iflib - reset fl-ifl_fragidx to 0 on iflib_fl_bufs_free(). This caused the panic in em/igb when adding it to a bridge device. iflib - Handle out of order packet delivery from hardware in support of LRO Out of order updates to rxd's is fixed in r315217. However, it is not completely fixed. While refilling the buffers, iflib is not considering the out of order descriptors. Hence, it is refilling sequentially. "idx" variable in _iflib_fl_refill routine is incremented sequentially. By doing refilling sequentially, it will override the SGEs that are *IN USE* by other connections. Fix is to maintain a bitmap of rx descriptors and differentiate the used one with unused one and refill only at the unused indices. This patch also fixes a few bugs in bnxt, related to the same feature. Submitted by: bhargava.marreddy@broadcom.com Reviewed by: venkatkumar.duvvuru@broadcom.com shurd Differential Revision: https://reviews.freebsd.org/D10681 Notes: svn path=/head/; revision=320609
* Clean up MD pollution of bus_dma.h:Jason A. Harmening2017-07-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --Remove special-case handling of sparc64 bus_dmamap* functions. Replace with a more generic mechanism that allows MD busdma implementations to generate inline mapping functions by defining WANT_INLINE_DMAMAP in <machine/bus_dma.h>. This is currently useful for sparc64, x86, and arm64, which all implement non-load dmamap operations as simple wrappers around map objects which may be bus- or device-specific. --Remove NULL-checked bus_dmamap macros. Implement the equivalent NULL checks in the inlined x86 implementation. For non-x86 platforms, these checks are a minor pessimization as those platforms do not currently allow NULL maps. NULL maps were originally allowed on arm64, which appears to have been the motivation behind adding arm[64]-specific barriers to bus_dma.h, but that support was removed in r299463. --Simplify the internal interface used by the bus_dmamap_load* variants and move it to bus_dma_internal.h --Fix some drivers that directly include sys/bus_dma.h despite the recommendations of bus_dma(9) Reviewed by: kib (previous revision), marius Differential Revision: https://reviews.freebsd.org/D10729 Notes: svn path=/head/; revision=320528
* Revert r319989 "bnxt(4) Enable LRO support"Sean Bruno2017-06-174-47/+36
| | | | | | | | | | | | This generates startup LORs and panics when adding elements to bridge devices. I will document further in https://reviews.freebsd.org/D10681 PR: 220073 Submitted by: dchagin Reported by: db Notes: svn path=/head/; revision=320059
* bnxt(4): Implement temporary workaround in driver to report supported mediaSean Bruno2017-06-151-9/+57
| | | | | | | | | | | | types that are currently unavailable from the firmware. e.g. 10G, 25G, 50G & 100G Submitted by: bhargava.marreddy@broadcom.com Reviewed by: venkatkumar.duvvuru@broadcom.com Differential Revision: https://reviews.freebsd.org/D10816 Notes: svn path=/head/; revision=319990
* bnxt(4) Enable LRO supportSean Bruno2017-06-154-36/+47
| | | | | | | | | | | | | | | | | | | | | iflib - Handle out of order packet delivery from hardware in support of LRO Out of order updates to rxd's is fixed in r315217. However, it is not completely fixed. While refilling the buffers, iflib is not considering the out of order descriptors. Hence, it is refilling sequentially. "idx" variable in _iflib_fl_refill routine is incremented sequentially. By doing refilling sequentially, it will override the SGEs that are *IN USE* by other connections. Fix is to maintain a bitmap of rx descriptors and differentiate the used one with unused one and refill only at the unused indices. This patch also fixes a few bugs in bnxt, related to the same feature. Submitted by: bhargava.marreddy@broadcom.com Reviewed by: shurd@ Differential Revision: https://reviews.freebsd.org/D10681 Notes: svn path=/head/; revision=319989
* bnxt: In case of multi queues, have unique name for different IRQs.Sean Bruno2017-06-131-1/+3
| | | | | | | | Submitted by: bhargava.marreddy@broadcom.com Differential Revision: https://reviews.freebsd.org/D11149 Notes: svn path=/head/; revision=319922
* Add version tag to the driver.Sean Bruno2017-05-161-1/+2
| | | | | | | | | | | Start at version 1.0.0.0 Submitted by: bhargava.marreddy@broadcom.com Reviewed by: venkatkumar.duvvuru@broadcom.com Differential Revision: https://reviews.freebsd.org/D10616 Notes: svn path=/head/; revision=318359
* bnxt: Add support for new Broadcom 100Gb adapter BCM57454Sean Bruno2017-05-042-0/+3
| | | | | | | | | Submitted by: bhargava.marreddy@broadcom.com Reviewed by: venkatkumar.duvvuru@broadcom.com Differential Revision: https://reviews.freebsd.org/D10595 Notes: svn path=/head/; revision=317798
* bnxt(4): add support for WOL Magic.Sean Bruno2017-04-074-1/+156
| | | | | | | | Submitted by: venkatkumar.duvvuru@broadcom.com Differential Revision: https://reviews.freebsd.org/D10124 Notes: svn path=/head/; revision=316616
* tx and rx interrupts are not combined in bnxt(4) and should be handledSean Bruno2017-04-061-5/+15
| | | | | | | | | | independantly. Submitted by: venkatkumar.duvvuru@broadcom.com> Differential Revision: https://reviews.freebsd.org/D10297 Notes: svn path=/head/; revision=316581
* Change the default rss_type to M_HASHTYPE_OPAQUE_HASH.Sean Bruno2017-03-271-1/+1
| | | | | | | | | Submitted by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9905 Notes: svn path=/head/; revision=316026
* Restore changes for RSS routing improvements made in 314369 that wereSean Bruno2017-03-141-14/+33
| | | | | | | | | reverted in the IFLIB update I made in 315217. Submitted by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Notes: svn path=/head/; revision=315243
* IFLIB updatesSean Bruno2017-03-132-49/+47
| | | | | | | | | | | | | | | | - unconditionally enable BUS_DMA on non-x86 architectures - speed up rxd zeroing via customized function - support out of order updates to rxd's - add prefetching to hardware descriptor rings - only prefetch on 10G or faster hardware - add seperate tx queue intr function - preliminary rework of NETMAP interfaces, WIP Submitted by: Matt Macy <mmacy@nextbsd.org> Sponsored by: Limelight Networks Notes: svn path=/head/; revision=315217
* bnxt: propagate RSS hash type to the network stack.Stephen Hurd2017-02-282-14/+41
| | | | | | | | | | | | | | | | RSS hash type will be used to identify the CPU on to which, a receive packet will be queued. This patch extracts the "RSS hash type" from the receive completion and sends it to the stack. Submitted by: Venkatkumar Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed by: shurd Approved by: sbruno MFC after: 1 week Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D9685 Notes: svn path=/head/; revision=314369
* 2017 IFLIB updates in preparation for commits to e1000 and ixgbe.Sean Bruno2017-01-021-22/+14
| | | | | | | | | | | | | | | | | | | | | | | - iflib - add checksum in place support (mmacy) - iflib - initialize IP for TSO (going to be needed for e1000) (mmacy) - iflib - move isc_txrx from shared context to softc context (mmacy) - iflib - Normalize checks in TXQ drainage. (shurd) - iflib - Fix queue capping checks (mmacy) - iflib - Fix invalid assert, em can need 2 sentinels (mmacy) - iflib - let the driver determine what capabilities are set and what tx csum flags are used (mmacy) - add INVARIANTS debugging hooks to gtaskqueue enqueue (mmacy) - update bnxt(4) to support the changes to iflib (shurd) Some other various, sundry updates. Slightly more verbose changelog: Submitted by: mmacy@nextbsd.org Reviewed by: shurd mFC after: Sponsored by: LimeLight Networks and Dell EMC Isilon Notes: svn path=/head/; revision=311039
* Add new device IDsStephen Hurd2016-11-242-17/+98
| | | | | | | | | | | | Add device IDs for new hardware, sort the device IDs, add comment regarding fragice NPAR/VF detection. Approved by: davidch MFC after: 6 days Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=309078
* Fix version stringStephen Hurd2016-11-241-1/+1
| | | | | | | | | | | This is no longer on github, but in FreeBSD base. Approved by: davidch MFC after: 6 days Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=309073
* Add missing break to switch statementStephen Hurd2016-11-231-0/+1
| | | | | | | | | | | | Minimal impact, would allow selection of LR media when KR is connected. Reported by: Coverity Approved by: davidch MFC after: 7 days Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=309028
* Check link status after initStephen Hurd2016-11-181-0/+2
| | | | | | | | | | | | | Because link state change events aren't enabled until the end of init(), the initial link up event could be missed. Check the current media status immediately after enabling the default completion ring interrupt. Approved by: sbruno MFC after: 12 days Sponsored by: Broadcom Limited Notes: svn path=/head/; revision=308813
* Add missing newline in error mesageStephen Hurd2016-11-171-1/+1
| | | | | | | | | Approved by: davidch MFC after: 13 days Sponsored by: Broadcom Corporation Notes: svn path=/head/; revision=308787
* New driver for Broadcom NetXtreme-C and NetXtreme-E devices.Stephen Hurd2016-11-1510-0/+23937
This driver uses the iflib framework supporting Broadcom 25/50Gbps devices. Reviewed by: gallatin, wblock Approved by: davidch MFC after: 2 weeks Relnotes: yes Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D7551 Notes: svn path=/head/; revision=308696