+++ /dev/null
-From 1da8347d8505c137fb07ff06bbcd3f2bf37409bc Mon Sep 17 00:00:00 2001
-From: Megha Dey <megha.dey@linux.intel.com>
-Date: Sat, 14 Mar 2020 11:39:59 +0800
-Subject: iommu/vt-d: Populate debugfs if IOMMUs are detected
-
-From: Megha Dey <megha.dey@linux.intel.com>
-
-commit 1da8347d8505c137fb07ff06bbcd3f2bf37409bc upstream.
-
-Currently, the intel iommu debugfs directory(/sys/kernel/debug/iommu/intel)
-gets populated only when DMA remapping is enabled (dmar_disabled = 0)
-irrespective of whether interrupt remapping is enabled or not.
-
-Instead, populate the intel iommu debugfs directory if any IOMMUs are
-detected.
-
-Cc: Dan Carpenter <dan.carpenter@oracle.com>
-Fixes: ee2636b8670b1 ("iommu/vt-d: Enable base Intel IOMMU debugfs support")
-Signed-off-by: Megha Dey <megha.dey@linux.intel.com>
-Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
-Signed-off-by: Joerg Roedel <jroedel@suse.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/iommu/intel-iommu-debugfs.c | 11 ++++++++++-
- drivers/iommu/intel-iommu.c | 4 +++-
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
---- a/drivers/iommu/intel-iommu-debugfs.c
-+++ b/drivers/iommu/intel-iommu-debugfs.c
-@@ -271,9 +271,16 @@ static int dmar_translation_struct_show(
- {
- struct dmar_drhd_unit *drhd;
- struct intel_iommu *iommu;
-+ u32 sts;
-
- rcu_read_lock();
- for_each_active_iommu(iommu, drhd) {
-+ sts = dmar_readl(iommu->reg + DMAR_GSTS_REG);
-+ if (!(sts & DMA_GSTS_TES)) {
-+ seq_printf(m, "DMA Remapping is not enabled on %s\n",
-+ iommu->name);
-+ continue;
-+ }
- root_tbl_walk(m, iommu);
- seq_putc(m, '\n');
- }
-@@ -343,6 +350,7 @@ static int ir_translation_struct_show(st
- struct dmar_drhd_unit *drhd;
- struct intel_iommu *iommu;
- u64 irta;
-+ u32 sts;
-
- rcu_read_lock();
- for_each_active_iommu(iommu, drhd) {
-@@ -352,7 +360,8 @@ static int ir_translation_struct_show(st
- seq_printf(m, "Remapped Interrupt supported on IOMMU: %s\n",
- iommu->name);
-
-- if (iommu->ir_table) {
-+ sts = dmar_readl(iommu->reg + DMAR_GSTS_REG);
-+ if (iommu->ir_table && (sts & DMA_GSTS_IRES)) {
- irta = virt_to_phys(iommu->ir_table->base);
- seq_printf(m, " IR table address:%llx\n", irta);
- ir_tbl_remap_entry_show(m, iommu);
---- a/drivers/iommu/intel-iommu.c
-+++ b/drivers/iommu/intel-iommu.c
-@@ -4961,6 +4961,9 @@ int __init intel_iommu_init(void)
-
- down_write(&dmar_global_lock);
-
-+ if (!no_iommu)
-+ intel_iommu_debugfs_init();
-+
- if (no_iommu || dmar_disabled) {
- /*
- * We exit the function here to ensure IOMMU's remapping and
-@@ -5056,7 +5059,6 @@ int __init intel_iommu_init(void)
- pr_info("Intel(R) Virtualization Technology for Directed I/O\n");
-
- intel_iommu_enabled = 1;
-- intel_iommu_debugfs_init();
-
- return 0;
-
iommu-vt-d-ignore-devices-with-out-of-spec-domain-number.patch
i2c-acpi-put-device-when-verifying-client-fails.patch
iommu-amd-fix-iommu-avic-not-properly-update-the-is_run-bit-in-irte.patch
-iommu-vt-d-populate-debugfs-if-iommus-are-detected.patch
ipv6-restrict-ipv6_addrform-operation.patch
net-smc-check-for-valid-ib_client_data.patch
net-smc-cancel-event-worker-during-device-removal.patch
+++ /dev/null
-From 1da8347d8505c137fb07ff06bbcd3f2bf37409bc Mon Sep 17 00:00:00 2001
-From: Megha Dey <megha.dey@linux.intel.com>
-Date: Sat, 14 Mar 2020 11:39:59 +0800
-Subject: iommu/vt-d: Populate debugfs if IOMMUs are detected
-
-From: Megha Dey <megha.dey@linux.intel.com>
-
-commit 1da8347d8505c137fb07ff06bbcd3f2bf37409bc upstream.
-
-Currently, the intel iommu debugfs directory(/sys/kernel/debug/iommu/intel)
-gets populated only when DMA remapping is enabled (dmar_disabled = 0)
-irrespective of whether interrupt remapping is enabled or not.
-
-Instead, populate the intel iommu debugfs directory if any IOMMUs are
-detected.
-
-Cc: Dan Carpenter <dan.carpenter@oracle.com>
-Fixes: ee2636b8670b1 ("iommu/vt-d: Enable base Intel IOMMU debugfs support")
-Signed-off-by: Megha Dey <megha.dey@linux.intel.com>
-Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
-Signed-off-by: Joerg Roedel <jroedel@suse.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/iommu/intel-iommu-debugfs.c | 11 ++++++++++-
- drivers/iommu/intel-iommu.c | 4 +++-
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
---- a/drivers/iommu/intel-iommu-debugfs.c
-+++ b/drivers/iommu/intel-iommu-debugfs.c
-@@ -271,9 +271,16 @@ static int dmar_translation_struct_show(
- {
- struct dmar_drhd_unit *drhd;
- struct intel_iommu *iommu;
-+ u32 sts;
-
- rcu_read_lock();
- for_each_active_iommu(iommu, drhd) {
-+ sts = dmar_readl(iommu->reg + DMAR_GSTS_REG);
-+ if (!(sts & DMA_GSTS_TES)) {
-+ seq_printf(m, "DMA Remapping is not enabled on %s\n",
-+ iommu->name);
-+ continue;
-+ }
- root_tbl_walk(m, iommu);
- seq_putc(m, '\n');
- }
-@@ -343,6 +350,7 @@ static int ir_translation_struct_show(st
- struct dmar_drhd_unit *drhd;
- struct intel_iommu *iommu;
- u64 irta;
-+ u32 sts;
-
- rcu_read_lock();
- for_each_active_iommu(iommu, drhd) {
-@@ -352,7 +360,8 @@ static int ir_translation_struct_show(st
- seq_printf(m, "Remapped Interrupt supported on IOMMU: %s\n",
- iommu->name);
-
-- if (iommu->ir_table) {
-+ sts = dmar_readl(iommu->reg + DMAR_GSTS_REG);
-+ if (iommu->ir_table && (sts & DMA_GSTS_IRES)) {
- irta = virt_to_phys(iommu->ir_table->base);
- seq_printf(m, " IR table address:%llx\n", irta);
- ir_tbl_remap_entry_show(m, iommu);
---- a/drivers/iommu/intel-iommu.c
-+++ b/drivers/iommu/intel-iommu.c
-@@ -5005,6 +5005,9 @@ int __init intel_iommu_init(void)
-
- down_write(&dmar_global_lock);
-
-+ if (!no_iommu)
-+ intel_iommu_debugfs_init();
-+
- if (no_iommu || dmar_disabled) {
- /*
- * We exit the function here to ensure IOMMU's remapping and
-@@ -5100,7 +5103,6 @@ int __init intel_iommu_init(void)
- pr_info("Intel(R) Virtualization Technology for Directed I/O\n");
-
- intel_iommu_enabled = 1;
-- intel_iommu_debugfs_init();
-
- return 0;
-
iommu-vt-d-ignore-devices-with-out-of-spec-domain-number.patch
i2c-acpi-put-device-when-verifying-client-fails.patch
iommu-amd-fix-iommu-avic-not-properly-update-the-is_run-bit-in-irte.patch
-iommu-vt-d-populate-debugfs-if-iommus-are-detected.patch
ipv6-restrict-ipv6_addrform-operation.patch
net-smc-check-for-valid-ib_client_data.patch