iommu/vt-d: Update scalable mode paging structure coherency
authorLu Baolu <baolu.lu@linux.intel.com>
Mon, 22 Jun 2020 23:13:44 +0000 (07:13 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 23 Jun 2020 08:08:32 +0000 (10:08 +0200)
commit04c00956ee3cd138fd38560a91452a804a8c5550
tree91f5890b3eee9ff6744b677a7a1e64af12574d76
parent50310600ebda74b9988467e2e6128711c7ba56fc
iommu/vt-d: Update scalable mode paging structure coherency

The Scalable-mode Page-walk Coherency (SMPWC) field in the VT-d extended
capability register indicates the hardware coherency behavior on paging
structures accessed through the pasid table entry. This is ignored in
current code and using ECAP.C instead which is only valid in legacy mode.
Fix this so that paging structure updates could be manually flushed from
the cache line if hardware page walking is not snooped.

Fixes: 765b6a98c1de3 ("iommu/vt-d: Enumerate the scalable mode capability")
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
Link: https://lore.kernel.org/r/20200622231345.29722-6-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel/iommu.c