linux/drivers/iommu/intel
Viktor Kleen 02f9d76a76 iommu/vt-d: Treat PAGE_SNOOP and PWSNP separately
The PASID_FLAG_PAGE_SNOOP and PASID_FLAG_PWSNP constants are identical.
This will cause the pasid code to always set both or neither of the
PGSNP and PWSNP bits in PASID table entries. However, PWSNP is a
reserved bit if SMPWC is not set in the IOMMU's extended capability
register, even if SC is supported.

This has resulted in DMAR errors when testing the iommufd code on an
Arrow Lake platform. With this patch, those errors disappear and the
PASID table entries look correct.

Fixes: 101a285411 ("iommu/vt-d: Follow PT_FEAT_DMA_INCOHERENT into the PASID entry")
Cc: stable@vger.kernel.org
Signed-off-by: Viktor Kleen <viktor@kleen.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20260202192109.1665799-1-viktor@kleen.org
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
History 2026-02-06 11:01:00 +01:00
..
cache.c IOMMU Updates for Linux v6.17: 2025-07-30 10:42:00 -07:00
debugfs.c iommu/vt-d: debugfs: Avoid dumping context command register 2025-09-19 09:43:21 +02:00
dmar.c iommu/vt-d: Remove the CONFIG_X86 wrapping from iommu init hook 2025-07-14 11:18:03 +01:00
iommu.c soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
iommu.h Merge branches 'arm/smmu/updates', 'arm/smmu/bindings', 'mediatek', 'nvidia/tegra', 'intel/vt-d', 'amd/amd-vi' and 'core' into next 2025-11-28 08:44:21 +01:00
irq_remapping.c x86/msi: Make irq_retrigger() functional for posted MSI 2025-12-17 18:41:52 +01:00
Kconfig Merge branches 'arm/smmu/updates', 'arm/smmu/bindings', 'mediatek', 'nvidia/tegra', 'intel/vt-d', 'amd/amd-vi' and 'core' into next 2025-11-28 08:44:21 +01:00
Makefile iommu: make inclusion of intel directory conditional 2025-05-16 08:46:46 +02:00
nested.c iommu/vt-d: Use the generic iommu page table 2025-11-05 09:50:19 +01:00
pasid.c iommu/vt-d: Follow PT_FEAT_DMA_INCOHERENT into the PASID entry 2025-11-05 09:50:20 +01:00
pasid.h iommu/vt-d: Treat PAGE_SNOOP and PWSNP separately 2026-02-06 11:01:00 +01:00
perf.c iommu/vt-d: Replace snprintf with scnprintf in dmar_latency_snapshot() 2025-09-19 09:43:19 +02:00
perf.h iommu/vt-d: Replace snprintf with scnprintf in dmar_latency_snapshot() 2025-09-19 09:43:19 +02:00
perfmon.c iommu/vt-d: Clean up cpumask and hotplug for perfmon 2024-09-10 11:44:13 +02:00
perfmon.h iommu/vt-d: Add IOMMU perfmon support 2023-02-03 11:06:06 +01:00
prq.c iommu/vt-d: Remove LPIG from page group response descriptor 2025-09-19 09:43:20 +02:00
svm.c iommu/vt-d: Follow PT_FEAT_DMA_INCOHERENT into the PASID entry 2025-11-05 09:50:20 +01:00
trace.c iommu/vt-d: Move trace/events/intel_iommu.h under iommu 2022-07-15 10:21:28 +02:00
trace.h iommu/vt-d: Deduplicate cache_tag_flush_all by reusing flush_range 2025-07-14 11:18:04 +01:00