<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/pci, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2021-10-14T16:16:33Z</updated>
<entry>
<title>pci_dw: fix outbound I/O window configuration</title>
<updated>2021-10-14T16:16:33Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2021-04-06T12:31:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d12f564865718e213e9d41aa493a3b6aa7faca60'/>
<id>urn:sha1:d12f564865718e213e9d41aa493a3b6aa7faca60</id>
<content type='text'>
Use viewport "2" instead of "0" and change window type from MEM to IO.
Without these changes the MEM ATU window can be overwritten with the IO one.

Submitted by: Kornel Duleba &lt;mindal@semihalf.com&gt;
Obtained from: Semihalf
Sponsored by: Marvell
Differential revision: https://reviews.freebsd.org/D29516

(cherry picked from commit 57dbb3c25936f0d61fef152eb224ca86a73af0e9)
</content>
</entry>
<entry>
<title>pci_dw: Trim ATU windows bigger than 4GB</title>
<updated>2021-10-14T16:09:44Z</updated>
<author>
<name>Wojciech Macek</name>
<email>wma@FreeBSD.org</email>
</author>
<published>2021-04-09T07:28:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8f2e39b9d3ecbd9653f859d9261745059f2b9071'/>
<id>urn:sha1:8f2e39b9d3ecbd9653f859d9261745059f2b9071</id>
<content type='text'>
The size of the ATU MEM/IO windows is implicitly casted to uint32_t.
Because of that some window sizes were silently demoted to 0 and ignored.
Check the size if its too large, trim it to 4GB and print a warning message.

Submitted by: Kornel Duleba &lt;mindal@semihalf.com&gt;
Reviewed by: mw
Obtained from: Semihalf
Sponsored by: Marvell
Differential revision: https://reviews.freebsd.org/D29625

(cherry picked from commit 243000b19f8b4ab104b584b2d16bc6aa9131c9b5)
</content>
</entry>
<entry>
<title>pci_user: call bus_translate_resource before BAR mmap</title>
<updated>2021-10-11T13:40:11Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2021-04-06T15:10:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=14721190e8298199a6cfbb6d2568ea1d17e7a107'/>
<id>urn:sha1:14721190e8298199a6cfbb6d2568ea1d17e7a107</id>
<content type='text'>
On some armv8 machines it is possible that the mapping between CPU
and PCI bus BAR base addresses is not 1:1. In case a BAR is allocated
in kernel using bus_alloc_resource_any this translation is handled in
ofw_pci_activate_resource.

Do the same in pci_user.c by calling bus_translate_resource devmethod.
This fixes mmaping BARs to userspace on Marvell SoCs (Armada 7k8k/CN913x)
and possibly many other platforms.

Submitted by: Kornel Duleba &lt;mindal@semihalf.com&gt;
Reviewed by: kib
Obtained from: Semihalf
Sponsored by: Marvell
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D29604

(cherry picked from commit f2f1ab39c04088ce53287528549e652cf68cee09)

pci_user: fix build for 32-bit platforms

Commit: f2f1ab39c040 ("pci_user: call bus_translate_resource before BAR mmap")
broke build for 32-bit platforms due to rman_res_t and vm_paddr_t
incompatible types. Fix that.

(cherry picked from commit 9857e00a528bb230c8935ded5f118a7374bf808b)
</content>
</entry>
<entry>
<title>PCI hot-plug: use dedicated taskqueue for device attach / detach</title>
<updated>2021-05-21T10:31:04Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2021-05-06T18:49:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2def2de60a6d0b979964bb67c5ff0e24d098e4a9'/>
<id>urn:sha1:2def2de60a6d0b979964bb67c5ff0e24d098e4a9</id>
<content type='text'>
Attaching and detaching devices can be heavy-weight and detaching can
sleep waiting for events.  For that reason using the system-wide
single-threaded taskqueue_thread is not really appropriate.
There is even a possibility for a deadlock if taskqueue_thread is used
for detaching.

In fact, there is an easy to reproduce deadlock involving nvme, pass
and a sudden removal of an NVMe device.
A pass peripheral would not release a reference on an nvme sim until
pass_shutdown_kqueue() is executed via taskqueue_thread.  But the
taskqueue's thread is blocked in nvme_detach() -&gt; ... -&gt; cam_sim_free()
because of the outstanding reference.

Sponsored by:	CyberSecure
Reviewed by:	mav, imp

(cherry picked from commit 12588ce02dd835b332952d9fece5881d943554a9)
</content>
</entry>
<entry>
<title>Set PCIe device's Max_Payload_Size to match PCIe root's.</title>
<updated>2021-05-05T00:57:07Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2021-04-05T14:34:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=96033da5c38e20c27e2ca9007cca8bfab7e350cc'/>
<id>urn:sha1:96033da5c38e20c27e2ca9007cca8bfab7e350cc</id>
<content type='text'>
Usually on boot the MPS is already configured by BIOS.  But we've
found that on hot-plug it is not true at least for our Supermicro
X11 boards.  As result, mismatch between root's configuration of
256 bytes and device's default of 128 bytes cause problems for some
devices, while others seem to work fine.

MFC after:	1 month
Sponsored by:	iXsystems, Inc.

(cherry picked from commit 5a898b2b78ce04d608bbaaa0813424b11f921ae7)
</content>
</entry>
<entry>
<title>Implement pci_get_relaxed_ordering_enabled() helper function.</title>
<updated>2021-03-24T07:59:58Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2021-03-16T15:06:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7cf565b2c5f0ed90eecd52b0fde8b81b746d662e'/>
<id>urn:sha1:7cf565b2c5f0ed90eecd52b0fde8b81b746d662e</id>
<content type='text'>
Discussed with:	kib@
MFC after:	1 week
Sponsored by:	Mellanox Technologies // NVIDIA Networking

(cherry picked from commit 1acf24a044aaa0391c61af4abe7e018c3bf8a37c)
</content>
</entry>
<entry>
<title>MFC r368749:</title>
<updated>2020-12-25T13:22:37Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-12-18T03:46:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=88a502a77b8fb48475e02205153c15580c98fc9e'/>
<id>urn:sha1:88a502a77b8fb48475e02205153c15580c98fc9e</id>
<content type='text'>
pci_iov: When pci_iov_detach(9) is called, destroy VF children
instead of bailing out with EBUSY if there are any.

(cherry picked from commit 94f5c1cc7186ae555b962d2450cc17e06fd4fda0)
</content>
</entry>
<entry>
<title>MFC r368364:</title>
<updated>2020-12-17T12:58:05Z</updated>
<author>
<name>Michal Meloun</name>
<email>mmel@FreeBSD.org</email>
</author>
<published>2020-12-17T12:58:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dfaca73fd43474f0f4067d037a9342b174190f63'/>
<id>urn:sha1:dfaca73fd43474f0f4067d037a9342b174190f63</id>
<content type='text'>
  DesignWare PCIe driver: Don't call bus_generic_attach() twice.
  bus_generic_attach() should be called from the attach function of the real
  implementation, not from the common init function.
</content>
</entry>
<entry>
<title>MFC r344855 (by jhb):</title>
<updated>2020-11-07T18:10:59Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2020-11-07T18:10:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=efe707b9b5cf7fa084dedae98f10bbd24546bf55'/>
<id>urn:sha1:efe707b9b5cf7fa084dedae98f10bbd24546bf55</id>
<content type='text'>
Drop "All rights reserved" from my copyright statements.

Reviewed by:	rgrimes
Differential Revision:	https://reviews.freebsd.org/D19485
</content>
</entry>
<entry>
<title>MFC r364038: Enable hw.pci.enable_aspm tunable by default.</title>
<updated>2020-11-05T02:57:40Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2020-11-05T02:57:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=519f52224cd521f2ebd27f7e1b270413f6a559ff'/>
<id>urn:sha1:519f52224cd521f2ebd27f7e1b270413f6a559ff</id>
<content type='text'>
While effects on power saving is only a guess, effects on hot-plug are
clearly visible.  Lets try to enable it and see what happen.
</content>
</entry>
</feed>
