diff options
| author | Vladimir Nedoshivin <gvozd188@mail.ru> | 2026-09-11 00:05:39 +0400 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2026-10-02 11:39:43 -0500 |
| commit | d4c0871d5d3d9073552475a83c6ef936d967cd68 (patch) | |
| tree | e7fb3c79c7546c14b014cebaaf7eb46e3b738dd6 /tools/lib/python | |
| parent | b43750456515c52c5b0b714f2a2ea84d6f940e19 (diff) | |
| download | linux-next-d4c0871d5d3d9073552475a83c6ef936d967cd68.tar.gz linux-next-d4c0871d5d3d9073552475a83c6ef936d967cd68.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]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260910200539.10862-1-gvozd188@mail.ru
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
