<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/next/linux-next.git/drivers/pci, branch master</title>
<subtitle>The linux-next integration testing tree</subtitle>
<id>https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master</id>
<link rel='self' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/'/>
<updated>2026-09-11T14:59:50+00:00</updated>
<entry>
<title>Merge branch 'next' of https://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux.git</title>
<updated>2026-09-11T14:59:50+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-11T14:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=30be36fffcc656ea8f12ab262cd501e7dc0b006c'/>
<id>urn:sha1:30be36fffcc656ea8f12ab262cd501e7dc0b006c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'next' of https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git</title>
<updated>2026-09-11T12:19:59+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-11T12:19:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=55dd4bf8a16736c40a8f5697bc94bd020c2cc61d'/>
<id>urn:sha1:55dd4bf8a16736c40a8f5697bc94bd020c2cc61d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PCI: liveupdate: Do not disable bus mastering on preserved devices during kexec</title>
<updated>2026-09-10T18:50:41+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=7f44eb94b1a85d2827610726e43de5554795cbdc'/>
<id>urn:sha1:7f44eb94b1a85d2827610726e43de5554795cbdc</id>
<content type='text'>
Do not disable bus mastering on outgoing preserved devices during
pci_device_shutdown() for kexec.

Preserved devices must be allowed to perform memory transactions during
a Live Update to ensure continuous operation.  Clearing the bus
mastering bit would prevent these devices from issuing any memory
requests while the new kernel boots.

Because bridges upstream of preserved endpoint devices are also
automatically preserved, this change also avoids clearing bus mastering
on them. This is critical because clearing bus mastering on an upstream
bridge prevents the bridge from forwarding memory requests upstream (i.e.
it would prevent the endpoint device from accessing system RAM and doing
peer-to-peer transactions with devices not downstream of the bridge).

Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Samiullah Khawaja &lt;skhawaja@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-12-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Freeze preservation status during shutdown</title>
<updated>2026-09-10T18:50:41+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=09907e211d2d63cc74f5a00e5949866f1078da76'/>
<id>urn:sha1:09907e211d2d63cc74f5a00e5949866f1078da76</id>
<content type='text'>
Freeze a device's outgoing preservation status (preserved or not
preserved) during shutdown. This enables the PCI core and drivers to
safely make decisions based on the device's preservation status during
shutdown.

Note that pci_liveupdate_freeze() is triggered by the PCI core rather
than from drivers participating in Live Update so that all devices can
have their status frozen (i.e. prevent non-preserved devices from
getting preserved late).

Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Samiullah Khawaja &lt;skhawaja@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-11-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Adopt ARI Forwarding Enable on preserved bridges</title>
<updated>2026-09-10T18:50:41+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=48928296f529d15ecf66c263f3cc5fc657894e26'/>
<id>urn:sha1:48928296f529d15ecf66c263f3cc5fc657894e26</id>
<content type='text'>
Adopt the ARI Forwarding Enable bit on preserved bridges and update
pci_dev-&gt;ari_enabled accordingly during a Live Update. This ensures that
the preserved devices on the bridge's secondary bus can be identified
with the same expanded 8-bit function number after a Live Update.

Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-10-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Adopt ACS controls in incoming preserved devices</title>
<updated>2026-09-10T18:50:40+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bd5970669fa8a2c1bc04c3fa516a0667a090c604'/>
<id>urn:sha1:bd5970669fa8a2c1bc04c3fa516a0667a090c604</id>
<content type='text'>
Adopt Access Control Services (ACS) controls on all incoming preserved
devices (endpoints and upstream bridges) during a Live Update.

Inheriting ACS flags avoids changing routing rules while memory
transactions are in flight from preserved devices. This is also strictly
necessary to ensure that IOMMU group assignments do not change during or
after Live Update.

Cache the inherited ACS controls established by the previous kernel in
struct pci_dev so that ACS controls do not change after a reset
(pci_restore_state() calls pci_enable_acs()).

To simplify ACS inheritance, reject preserving any devices that require
quirks to enable ACS as those quirks would also have to take Live Update
into account.

Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-9-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: Refactor matching logic for pci_dev_acs_ops</title>
<updated>2026-09-10T18:50:40+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d2cc005d11de82f352e1f30f7b9aa2a4c463dec0'/>
<id>urn:sha1:d2cc005d11de82f352e1f30f7b9aa2a4c463dec0</id>
<content type='text'>
Refactor the logic to match devices to pci_dev_acs_ops by factoring out
the device matching loop into its own routine, pci_dev_acs_ops_get().
This eliminates duplicate code between pci_dev_specific_enable_acs() and
pci_dev_specific_disable_acs_redir(), and will also be used in a
subsequent commit to check if a device requires device-specific
enable_acs() during a Live Update.

No functional change intended.

Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Reviewed-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-8-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Auto-preserve upstream bridges across Live Update</title>
<updated>2026-09-10T18:50:40+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a7709b31ea29cb7d65b75beb844e0b92a20d4ab0'/>
<id>urn:sha1:a7709b31ea29cb7d65b75beb844e0b92a20d4ab0</id>
<content type='text'>
When a PCI device is preserved across a Live Update, all of its upstream
bridges up to the root port must also be preserved. This enables the PCI
core and any drivers bound to the bridges to manage bridges correctly
across a Live Update.

Notably, this will be used in subsequent commits to ensure that
preserved devices can continue performing memory transactions without a
disruption or change in routing.

To preserve bridges, the PCI core tracks the number of downstream
devices preserved under each bridge using a reference count in struct
pci_dev_ser. This allows a bridge to remain preserved until all its
downstream preserved devices are unpreserved or finish their
participation in the Live Update.

Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-7-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Preserve bus numbers during Live Update</title>
<updated>2026-09-10T18:50:39+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=8db5cb4011d0ebde5fbadf1236dfcb23bb8ce007'/>
<id>urn:sha1:8db5cb4011d0ebde5fbadf1236dfcb23bb8ce007</id>
<content type='text'>
During a Live Update, preserved devices must be allowed to continue
performing memory transactions so the kernel cannot change the fabric
topology, including bus numbers, since that would require disabling and
flushing any memory transactions first.

To keep bus numbers constant, always preserve the secondary and
subordinate bus numbers assigned to bridges during scanning, instead of
assigning new ones, if any PCI devices were preserved. Note that the
kernel preserves bus numbers even on bridges without any downstream
endpoints that were preserved. This avoids accidentally assigning a
bridge a new window that overlaps with a preserved device that is
downstream of a different bridge.

If a bridge is scanned with a broken topology or has no bus numbers set
during a Live Update, refuse to assign it new bus numbers and refuse to
enumerate devices below it until the Live Update is finished. This is a
safety measure to prevent topology conflicts.

Require that CONFIG_CARDBUS is not enabled to enable
CONFIG_PCI_LIVEUPDATE since preserving bus numbers on PCI-to-CardBus
bridges requires additional work but is not a priority at the moment.

Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Reviewed-by: Samiullah Khawaja &lt;skhawaja@google.com&gt;
Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-6-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
<entry>
<title>PCI: liveupdate: Document driver binding responsibilities</title>
<updated>2026-09-10T18:50:39+00:00</updated>
<author>
<name>David Matlack</name>
<email>dmatlack@google.com</email>
</author>
<published>2026-07-28T22:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=4d9305a6938a66ccc1154dc5fa5a8a9ac56eb549'/>
<id>urn:sha1:4d9305a6938a66ccc1154dc5fa5a8a9ac56eb549</id>
<content type='text'>
Document how driver binding works during a Live Update and what the PCI
core expects of drivers and users. Note that this is only a description
of the current division of responsibilities. These can change in the
future if we decide.

Reviewed-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
Reviewed-by: Pranjal Shrivastava &lt;praan@google.com&gt;
Reviewed-by: Samiullah Khawaja &lt;skhawaja@google.com&gt;
Signed-off-by: David Matlack &lt;dmatlack@google.com&gt;
Link: https://patch.msgid.link/20260728221007.2098560-5-dmatlack@google.com
Signed-off-by: Pasha Tatashin &lt;pasha.tatashin@soleen.com&gt;
</content>
</entry>
</feed>
