<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/ntb, branch release/11.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F11.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F11.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2019-02-28T00:30:34Z</updated>
<entry>
<title>MFC r344437: Allow I/OAT of present Xeon E5/E7 to work thorugh PLX NTB.</title>
<updated>2019-02-28T00:30:34Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2019-02-28T00:30:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=da17b32e671b5aa551c9178ee087ac94394e7a40'/>
<id>urn:sha1:da17b32e671b5aa551c9178ee087ac94394e7a40</id>
<content type='text'>
Its a hack, we can't know/list all DMA engines, but this covers all
I/OAT of Xeon E5/E7 at least from Sandy Bridge till Skylake I saw.
</content>
</entry>
<entry>
<title>MFC r328611: Try to preallocate receive memory early.</title>
<updated>2018-02-09T03:07:12Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2018-02-09T03:07:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b4b430d085e6da068ab182429273f2674026f25f'/>
<id>urn:sha1:b4b430d085e6da068ab182429273f2674026f25f</id>
<content type='text'>
We may not have enough contiguous memory later, when NTB connection get
established.  It is quite likely that NTB windows are symmetric and this
allocation remain, but even if not, we will just reallocate it later.
</content>
</entry>
<entry>
<title>MFC r328450: Use bus_dmamem_alloc(9) KPI instead of contigmalloc(9).</title>
<updated>2018-02-09T03:06:45Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2018-02-09T03:06:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f98c6b89ef6a9d5958375d532463fbe0f63ccea1'/>
<id>urn:sha1:f98c6b89ef6a9d5958375d532463fbe0f63ccea1</id>
<content type='text'>
I suppose it should make this code NUMA-aware with recent NUMA drop-in,
trying to allocate shared memory buffers from domain closer to NT-bridge.
</content>
</entry>
<entry>
<title>MFC r324155: Add initial support for Address Lookup Table (A-LUT).</title>
<updated>2017-10-08T07:19:59Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-10-08T07:19:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=919a6299934c51f205f04de52e04e5f7b8a965ad'/>
<id>urn:sha1:919a6299934c51f205f04de52e04e5f7b8a965ad</id>
<content type='text'>
When enabled by EEPROM, use it to relax translation address/size alignment
requirements for BAR2 window by 128 or 256 times.
</content>
</entry>
<entry>
<title>MFC r323575: Add second entry to LUT on a link side in B2B mode.</title>
<updated>2017-09-21T07:35:22Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-21T07:35:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0b8b5b6d3283c8cb9a14fb719bf82d5470facdc7'/>
<id>urn:sha1:0b8b5b6d3283c8cb9a14fb719bf82d5470facdc7</id>
<content type='text'>
Each of two entries on a virtual side should have its counterpart on a
peer's link side.
</content>
</entry>
<entry>
<title>MFC r323128: Increase negotiation polling period from 10ms to 100ms.</title>
<updated>2017-09-11T18:51:02Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-11T18:51:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=fe64a962fcab0d6d0b31797dce2d8a8547a040b9'/>
<id>urn:sha1:fe64a962fcab0d6d0b31797dce2d8a8547a040b9</id>
<content type='text'>
There is no big need to burn CPU if other side may be not there yet.  For
example, the PLX hardware by default enables the NTB link up on reset, not
dependig on driver to do it.  In case of Intel hardware this also reduces
race between MSI-X workaround negotiation and upper layers, using the same
scratchpad registers in different time.
</content>
</entry>
<entry>
<title>MFC r323126: Make NTB drivers report more info via NewBus methods.</title>
<updated>2017-09-11T18:50:36Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-11T18:50:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8829a154a64baa6e0b34b10968afb3dc764d2d77'/>
<id>urn:sha1:8829a154a64baa6e0b34b10968afb3dc764d2d77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC r323074: Clear doorbell bits after masking them before processing.</title>
<updated>2017-09-11T18:50:09Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-11T18:50:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a3a5b705d8576f7ec40fbdf04e7bd091f9940c0c'/>
<id>urn:sha1:a3a5b705d8576f7ec40fbdf04e7bd091f9940c0c</id>
<content type='text'>
In theory this allows to avoid one more expensive doorbell register read
later in some scenarios.  But in practice it also significantly increases
packet rate on PLX hardware, that I can't explain yet, possibly work-
arounding some interrupt delays.
</content>
</entry>
<entry>
<title>MFC r323032, r323053, r323058, r323059, r323084, r323114, r323127:</title>
<updated>2017-09-11T18:48:09Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-11T18:48:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=4791823d15269c5782bc274c483951207ba1f03b'/>
<id>urn:sha1:4791823d15269c5782bc274c483951207ba1f03b</id>
<content type='text'>
Add NTB driver for PLX/Avago/Broadcom PCIe switches.

This driver supports both NTB-to-NTB and NTB-to-Root Port modes (though
the second with predictable complications on hot-plug and reboot events).
I tested it with PEX 8717 and PEX 8733 chips, but expect it should work
with many other compatible ones too.  It supports up to two NT bridges
per chip, each of which can have up to 2 64-bit or 4 32-bit memory windows,
6 or 12 scratchpad registers and 16 doorbells.  There are also 4 DMA engines
in those chips, but they are not yet supported.

While there, rename Intel NTB driver from generic ntb_hw(4) to more specific
ntb_hw_intel(4), so now it is on par with this new ntb_hw_plx(4) driver and
alike to Linux naming.
</content>
</entry>
<entry>
<title>MFC r322981: Mask doorbells while processing them.</title>
<updated>2017-09-11T18:31:51Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-09-11T18:31:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3eb8998b7a92aba424ce6e3cd266313c8cc39ebd'/>
<id>urn:sha1:3eb8998b7a92aba424ce6e3cd266313c8cc39ebd</id>
<content type='text'>
This fixes interrupt storms on hardware using legacy level-triggered
interrupts, since doorbell processing could take time after interrupt
handler completion, that triggered extra interrupts in a loop.
</content>
</entry>
</feed>
