iommu/vt-d: Remove global page flush support
authorJacob Pan <jacob.jun.pan@linux.intel.com>
Mon, 26 Aug 2019 15:53:29 +0000 (08:53 -0700)
committerJoerg Roedel <jroedel@suse.de>
Tue, 3 Sep 2019 13:01:27 +0000 (15:01 +0200)
commit8744daf4b0699b724ee0a56b313a6c0c4ea289e3
treed0af966c4e74c3be1f5cf9f360d6eabf07c15d05
parent0ce4a85f4f015d13a6a6b4954f4e8e63cd83f7b1
iommu/vt-d: Remove global page flush support

Global pages support is removed from VT-d spec 3.0. Since global pages G
flag only affects first-level paging structures and because DMA request
with PASID are only supported by VT-d spec. 3.0 and onward, we can
safely remove global pages support.

For kernel shared virtual address IOTLB invalidation, PASID
granularity and page selective within PASID will be used. There is
no global granularity supported. Without this fix, IOTLB invalidation
will cause invalid descriptor error in the queued invalidation (QI)
interface.

Fixes: 1c4f88b7f1f9 ("iommu/vt-d: Shared virtual address in scalable mode")
Reported-by: Sanjay K Kumar <sanjay.k.kumar@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-svm.c
include/linux/intel-iommu.h