[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a6e18e0a-2721-4126-aa8a-ae650fa86edb@linux.intel.com>
Date: Thu, 25 Jan 2024 17:37:58 +0800
From: Ethan Zhao <haifeng.zhao@...ux.intel.com>
To: "Christian A. Ehrhardt" <lk@...e.de>, Baolu Lu <baolu.lu@...ux.intel.com>
Cc: Paul Menzel <pmenzel@...gen.mpg.de>, Jörg Rödel
<joro@...tes.org>, Will Deacon <will@...nel.org>, iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: Dell XPS 13 9360: DMAR errors `DRHD: handling fault status reg 2`
and `[INTR-REMAP] Request device [f0:1f.0] fault index 0x0`
On 1/22/2024 9:45 PM, Christian A. Ehrhardt wrote:
> Hi,
>
> On Mon, Jan 22, 2024 at 08:53:43PM +0800, Baolu Lu wrote:
>> On 2024/1/19 20:59, Paul Menzel wrote:
>>> Dear Linux folks,
>>>
>>>
>>> On a Dell XPS 13 9360 Linux 6.6.8, 6.6.11 and 6.7 (and earlier versions)
>>> log the lines below when resuming from ACPI S3 (deep):
>>>
>>> [ 0.000000] Linux version 6.7-amd64
>>> (debian-kernel@...ts.debian.org) (x86_64-linux-gnu-gcc-13 (Debian
>>> 13.2.0-9) 13.2.0, GNU ld (GNU Binutils for Debian) 2.41.50.20231227) #1
>>> SMP PREEMPT_DYNAMIC Debian 6.7-1~exp1 (2024-01-08)
>>> [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.7-amd64
>>> root=UUID=32e29882-d94d-4a92-9ee4-4d03002bfa29 ro quiet pci=noaer
>>> mem_sleep_default=deep log_buf_len=8M
>>> […]
>>> [ 0.000000] DMI: Dell Inc. XPS 13 9360/0596KF, BIOS 2.21.0
>>> 06/02/2022
>>> […]
>>> [ 99.711230] PM: suspend entry (deep)
>>> […]
>>> [ 99.722101] printk: Suspending console(s) (use
>>> no_console_suspend to debug)
>>> [ 100.285178] ACPI: EC: interrupt blocked
>>> [ 100.319908] ACPI: PM: Preparing to enter system sleep state S3
>>> [ 100.331793] ACPI: EC: event blocked
>>> [ 100.331798] ACPI: EC: EC stopped
>>> [ 100.331800] ACPI: PM: Saving platform NVS memory
>>> [ 100.335224] Disabling non-boot CPUs ...
>>> [ 100.337412] smpboot: CPU 1 is now offline
>>> [ 100.341065] smpboot: CPU 2 is now offline
>>> [ 100.346441] smpboot: CPU 3 is now offline
>>> [ 100.353086] ACPI: PM: Low-level resume complete
>>> [ 100.353129] ACPI: EC: EC started
>>> [ 100.353129] ACPI: PM: Restoring platform NVS memory
>>> [ 100.355219] Enabling non-boot CPUs ...
>>> [ 100.355244] smpboot: Booting Node 0 Processor 1 APIC 0x2
>>> [ 100.355954] CPU1 is up
>>> [ 100.355972] smpboot: Booting Node 0 Processor 2 APIC 0x1
>>> [ 100.356698] CPU2 is up
>>> [ 100.356716] smpboot: Booting Node 0 Processor 3 APIC 0x3
>>> [ 100.357371] CPU3 is up
>>> [ 100.360217] ACPI: PM: Waking up from system sleep state S3
>>> [ 100.668380] ACPI: EC: interrupt unblocked
>>> [ 100.668598] pcieport 0000:00:1c.0: Intel SPT PCH root port ACS
>>> workaround enabled
>>> [ 100.668606] pcieport 0000:00:1c.4: Intel SPT PCH root port ACS
>>> workaround enabled
>>> [ 100.668643] pcieport 0000:00:1d.0: Intel SPT PCH root port ACS
>>> workaround enabled
>>> [ 100.690996] DMAR: DRHD: handling fault status reg 2
>>> [ 100.691001] DMAR: [INTR-REMAP] Request device [f0:1f.0] fault
>>> index 0x0 [fault reason 0x25] Blocked a compatibility format interrupt
>>> request
>>>
>>> But I am unable to find the device f0:1f.0:
>>>
>>> $ lspci -nn
>>> 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th
>>> Gen Core Processor Host Bridge/DRAM Registers [8086:5904] (rev 02)
>>> 00:02.0 VGA compatible controller [0300]: Intel Corporation HD
>>> Graphics 620 [8086:5916] (rev 02)
>>> 00:04.0 Signal processing controller [1180]: Intel Corporation Xeon
>>> E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
>>> [8086:1903] (rev 02)
>>> 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP
>>> USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
>>> 00:14.2 Signal processing controller [1180]: Intel Corporation
>>> Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
>>> 00:15.0 Signal processing controller [1180]: Intel Corporation
>>> Sunrise Point-LP Serial IO I2C Controller #0 [8086:9d60] (rev 21)
>>> 00:15.1 Signal processing controller [1180]: Intel Corporation
>>> Sunrise Point-LP Serial IO I2C Controller #1 [8086:9d61] (rev 21)
>>> 00:16.0 Communication controller [0780]: Intel Corporation Sunrise
>>> Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
>>> 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI
>>> Express Root Port #1 [8086:9d10] (rev f1)
>>> 00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI
>>> Express Root Port #5 [8086:9d14] (rev f1)
>>> 00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI
>>> Express Root Port #9 [8086:9d18] (rev f1)
>>> 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC
>>> Controller [8086:9d58] (rev 21)
>>> 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise
>>> Point-LP PMC [8086:9d21] (rev 21)
>>> 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD
>>> Audio [8086:9d71] (rev 21)
>>> 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus
>>> [8086:9d23] (rev 21)
>>> 01:00.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3
>>> Bridge [Alpine Ridge 2C 2015] [8086:1576]
>>> 02:00.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3
>>> Bridge [Alpine Ridge 2C 2015] [8086:1576]
>>> 02:01.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3
>>> Bridge [Alpine Ridge 2C 2015] [8086:1576]
>>> 02:02.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3
>>> Bridge [Alpine Ridge 2C 2015] [8086:1576]
>>> 39:00.0 USB controller [0c03]: Intel Corporation DSL6340 USB 3.1
>>> Controller [Alpine Ridge] [8086:15b5]
>>> 3a:00.0 Network controller [0280]: Qualcomm Atheros QCA6174
>>> 802.11ac Wireless Network Adapter [168c:003e] (rev 32)
>>> 3b:00.0 Non-Volatile memory controller [0108]: SK hynix PC300 NVMe
>>> Solid State Drive 512GB [1c5c:1284]
>>>
>>> As this is logged as an error, can this be fixed somehow?
>> This appears to be a platform problem. The hidden device (f0:1f.0) is
>> not visible to the OS, so no driver can program the interrupt remapping
>> table for the device's interrupts.
> The hidden device has been identified as the IO-APIC. It is visible
> and properly declared to use 0f:1f.0 in the DMAR table.
Didn't see the warning
"Compatibility-format IRQs enabled despite intr remapping;\n"
"you are vulnerable to IRQ injection.\n");
So assume the DMA_GSTS_CFIS bit of GSTS_REG shows the interrupt
remapping was programmed to the right behaviour -- Compatibility
format interrupts are blocked.
But the device f0:1f.0 is still armed to inject compatible format interrupt
that is dangerous mistake if not be blocked, so far no such exception
that should be passed through, appears not iommu issue per my
understanding.
Thanks,
Ethan
>
> regards Christian
>
>
Powered by blists - more mailing lists