#
304380 |
|
18-Aug-2016 |
mav |
MFC r302484: NewBus'ify NTB subsystem.
This follows NTB subsystem modularization in Linux, tuning it to FreeBSD native NewBus interfaces. This change allows to support different types of hardware with different drivers, support multiple NTB instances in a system, ntb_transport module use for needs other then if_ntb, etc.
Sponsored by: iXsystems, Inc.
|
#
301811 |
|
10-Jun-2016 |
ngie |
MFC r295618,r300100,r300531:
r295618 (by cem):
NTB: workaround for high traffic hardware hang
This patch comes from Dave Jiang's Linux tree, davejiang/ntb. It hasn't been accepted into Linus' tree, so I do not have an authoritative SHA1 to point at. Original commit log:
===================================================================== A hardware errata causes the NTB to hang when heavy bi-directional traffic in addition to the usage of BAR0/1 (where the registers reside, including the doorbell registers to trigger interrupts).
This workaround is only available on Haswell and Broadwell platform. The workaround is to enable split BAR in the BIOS to allow the 64bit BAR4 to be split into two 32bit BAR4 and BAR5. The BAR4 shall be pointed to LAPIC region of the remote host. We will bypass the db mechanism and directly trigger the MSIX interrupts. The offsets and vectors are exchanged during transport scratch pad negotiation. The scratch pads are now overloaded in order to allow the exchange of the information. This gets around using the doorbell and prevents the lockup with additional pcode changes in BIOS.
Signed-off-by: Dave Jiang <dave.jiang@intel.com> =====================================================================
Notable changes in the FreeBSD version of this patch: * The MSIX BAR is configurable, like hw.ntb.b2b_mw_idx (msix_mw_idx). The Linux version of the patch only uses BAR4. * MSIX negotiation aborts if the link goes down.
Obtained from: Linux (Dual BSD/GPL driver)
r300100 (by cem):
ntb_hw(4): Add sysctls for administrative/test link config, state
dev.ntb_hw.0.admin_up=0/1: Like ifconfig UP/DOWN. dev.ntb_hw.0.active=0/1: Like ifconfig 'status'
r300531 (by cem):
ntb_hw(4): Only record the first three MSIX vectors
Don't overrun the msix_data array by reading the (unused) link state interrupt information.
|
#
300373 |
|
21-May-2016 |
mav |
MFC 103 ntb(4) patches by cem@ up to r295487.
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
255279 |
|
05-Sep-2013 |
carl |
Workaround an issue with hardware by accessing remote device through mem window.
Approved by: jimharris Sponsored by: Intel
|
#
255277 |
|
05-Sep-2013 |
carl |
Cleaning up spacing and making hex value case consistent.
Approved by: jimharris Sponsored by: Intel
|
#
255276 |
|
05-Sep-2013 |
carl |
Implement workaround for IvyTown 4K BAR size issue.
Approved by: jimharris Sponsored by: Intel
|
#
250079 |
|
29-Apr-2013 |
carl |
Add a new driver to support the Intel Non-Transparent Bridge(NTB).
The NTB allows you to connect two systems with this device using a PCI-e link. The driver is made of two modules: - ntb_hw which is a basic hardware abstraction layer for the device. - if_ntb which implements the ntb network device and the communication protocol.
The driver is limited at the moment to CPU memcpy instead of using DMA, and only Back-to-Back mode is supported. Also the network device isn't full featured yet. These changes will be coming soon. The DMA change will also bring in the ioat driver from the project branch it is on now.
This is an initial port of the GPL/BSD Linux driver contributed by Jon Mason from Intel. Any bugs are my contributions.
Sponsored by: Intel Reviewed by: jimharris, joel (man page only) Approved by: jimharris (mentor)
|