|
|
|
@ -987,7 +987,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> |
|
|
|
|
}
|
|
|
|
|
--- a/drivers/iommu/intel-iommu.c
|
|
|
|
|
+++ b/drivers/iommu/intel-iommu.c
|
|
|
|
|
@@ -440,6 +440,7 @@ struct dmar_rmrr_unit {
|
|
|
|
|
@@ -441,6 +441,7 @@ struct dmar_rmrr_unit {
|
|
|
|
|
u64 end_address; /* reserved end address */
|
|
|
|
|
struct dmar_dev_scope *devices; /* target devices */
|
|
|
|
|
int devices_cnt; /* target device count */
|
|
|
|
@ -995,7 +995,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> |
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct dmar_atsr_unit {
|
|
|
|
|
@@ -4251,27 +4252,40 @@ static inline void init_iommu_pm_ops(voi
|
|
|
|
|
@@ -4267,27 +4268,40 @@ static inline void init_iommu_pm_ops(voi
|
|
|
|
|
int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg)
|
|
|
|
|
{
|
|
|
|
|
struct acpi_dmar_reserved_memory *rmrr;
|
|
|
|
@ -1041,7 +1041,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static struct dmar_atsr_unit *dmar_find_atsr(struct acpi_dmar_atsr *atsr)
|
|
|
|
|
@@ -4485,6 +4499,7 @@ static void intel_iommu_free_dmars(void)
|
|
|
|
|
@@ -4501,6 +4515,7 @@ static void intel_iommu_free_dmars(void)
|
|
|
|
|
list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) {
|
|
|
|
|
list_del(&rmrru->list);
|
|
|
|
|
dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt);
|
|
|
|
@ -1049,7 +1049,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> |
|
|
|
|
kfree(rmrru);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -5220,6 +5235,45 @@ static void intel_iommu_remove_device(st
|
|
|
|
|
@@ -5236,6 +5251,45 @@ static void intel_iommu_remove_device(st
|
|
|
|
|
iommu_device_unlink(iommu->iommu_dev, dev);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1095,7 +1095,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> |
|
|
|
|
#ifdef CONFIG_INTEL_IOMMU_SVM
|
|
|
|
|
#define MAX_NR_PASID_BITS (20)
|
|
|
|
|
static inline unsigned long intel_iommu_get_pts(struct intel_iommu *iommu)
|
|
|
|
|
@@ -5350,19 +5404,21 @@ struct intel_iommu *intel_svm_device_to_
|
|
|
|
|
@@ -5366,19 +5420,21 @@ struct intel_iommu *intel_svm_device_to_
|
|
|
|
|
#endif /* CONFIG_INTEL_IOMMU_SVM */
|
|
|
|
|
|
|
|
|
|
static const struct iommu_ops intel_iommu_ops = {
|
|
|
|
|