summaryrefslogtreecommitdiff
path: root/scripts/basic/split-include.c
diff options
context:
space:
mode:
authorVladimir Nedoshivin <gvozd188@mail.ru>2026-09-11 00:05:39 +0400
committerBjorn Helgaas <bhelgaas@google.com>2026-10-12 16:52:01 -0500
commit2c88c2dc18528489b403fe95741f5731e292f7ba (patch)
treee7fb3c79c7546c14b014cebaaf7eb46e3b738dd6 /scripts/basic/split-include.c
parent7307899e381cb0c16245793a4adde7491d73a2b3 (diff)
downloadlinux-2c88c2dc18528489b403fe95741f5731e292f7ba.tar.gz
linux-2c88c2dc18528489b403fe95741f5731e292f7ba.zip
PCI: vmd: Flush DMA writes before handling MSI on Arrow Lake
Per the Intel Core Ultra Processors (Series 2) Specification Update (ID 834774 of 9/1/2026), the Arrow Lake VMD device 0xad0b is affected by an MSI erratum: ARL004: MSI from VMD-Owned Device May Pass Memory Write Problem When the storage subsystem is configured to operate in RAID 0 or 1 mode, a Message Signaled Interrupt (MSI) from an Intel® Volume Management Device (Intel® VMD) owned device may interrupt a core before a previous write from the device is completed. Workaround None identified. The VMD MSI interrupt-handler should initially perform a dummy register read to the MSI initiator device prior to any writes to ensure proper PCIe ordering. The existing VMD_FEAT_INTERRUPT_QUIRK implements Intel's documented workaround by issuing a configuration-space read to the MSI initiator before dispatching the interrupt. Enable the existing quirk for 0xad0b as well as 0x7d0b and make the comments describe both MTL016 and ARL004. Tested on an MSI Vector 17 HX AI with Intel VMD 8086:ad0b and an NVMe device behind VMD. With the quirk enabled, the NVMe completion stalls observed without the workaround are no longer reproduced. Link: https://bugs.launchpad.net/bugs/2166325 Signed-off-by: Vladimir Nedoshivin <gvozd188@mail.ru> [bhelgaas: include erratum source and text, cc: stable] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20260910200539.10862-1-gvozd188@mail.ru
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions