mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Joerg Roedel <joerg.roedel@amd.com>
To: <iommu@lists.linux-foundation.org>
Cc: <linux-kernel@vger.kernel.org>,
	Joerg Roedel <joerg.roedel@amd.com>, <x86@kernel.org>,
	Yinghai Lu <yinghai@kernel.org>,
	Suresh Siddha <suresh.b.siddha@intel.com>
Subject: [PATCH 03/28] x86/irq: Use irq_remap specific print_IO_APIC paths only on Intel
Date: Thu, 5 Jul 2012 14:36:23 +0200	[thread overview]
Message-ID: <1341491808-23083-4-git-send-email-joerg.roedel@amd.com> (raw)
In-Reply-To: <1341491808-23083-1-git-send-email-joerg.roedel@amd.com>

The VT-d IOMMU requires a special setup of the IO-APIC to
remap its interrupts. Therefore the print_IO_APIC routine
has seperate code paths to accout for that and print out the
special setup. This is not required on AMD IOMMU systems, so
make these path really Intel specific.

Cc: x86@kernel.org
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
 arch/x86/include/asm/irq_remapping.h |    2 ++
 arch/x86/kernel/apic/io_apic.c       |    4 ++--
 drivers/iommu/intel_irq_remapping.c  |    2 ++
 drivers/iommu/irq_remapping.c        |    1 +
 4 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/irq_remapping.h b/arch/x86/include/asm/irq_remapping.h
index 5fb9bbb..228d5e5 100644
--- a/arch/x86/include/asm/irq_remapping.h
+++ b/arch/x86/include/asm/irq_remapping.h
@@ -27,6 +27,7 @@
 #ifdef CONFIG_IRQ_REMAP
 
 extern int irq_remapping_enabled;
+extern int intel_irq_remap_debug;
 
 extern void setup_irq_remapping_ops(void);
 extern int irq_remapping_supported(void);
@@ -55,6 +56,7 @@ extern int setup_hpet_msi_remapped(unsigned int irq, unsigned int id);
 #else  /* CONFIG_IRQ_REMAP */
 
 #define irq_remapping_enabled	0
+#define intel_irq_remap_debug	0
 
 static inline void setup_irq_remapping_ops(void) { }
 static inline int irq_remapping_supported(void) { return 0; }
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index d5bccc0..260cf8f 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1559,7 +1559,7 @@ __apicdebuginit(void) print_IO_APIC(int ioapic_idx)
 
 	printk(KERN_DEBUG ".... IRQ redirection table:\n");
 
-	if (irq_remapping_enabled) {
+	if (intel_irq_remap_debug) {
 		printk(KERN_DEBUG " NR Indx Fmt Mask Trig IRR"
 			" Pol Stat Indx2 Zero Vect:\n");
 	} else {
@@ -1568,7 +1568,7 @@ __apicdebuginit(void) print_IO_APIC(int ioapic_idx)
 	}
 
 	for (i = 0; i <= reg_01.bits.entries; i++) {
-		if (irq_remapping_enabled) {
+		if (intel_irq_remap_debug) {
 			struct IO_APIC_route_entry entry;
 			struct IR_IO_APIC_route_entry *ir_entry;
 
diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index 29411ed..845f60f 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -621,6 +621,8 @@ static int __init intel_enable_irq_remapping(void)
 		goto error;
 
 	irq_remapping_enabled = 1;
+	intel_irq_remap_debug = 1;
+
 	pr_info("Enabled IRQ remapping in %s mode\n", eim ? "x2apic" : "xapic");
 
 	return eim ? IRQ_REMAP_X2APIC_MODE : IRQ_REMAP_XAPIC_MODE;
diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c
index 40cda8e..7a880c3 100644
--- a/drivers/iommu/irq_remapping.c
+++ b/drivers/iommu/irq_remapping.c
@@ -5,6 +5,7 @@
 #include "irq_remapping.h"
 
 int irq_remapping_enabled;
+int intel_irq_remap_debug;
 
 int disable_irq_remap;
 int disable_sourceid_checking;
-- 
1.7.9.5



  parent reply	other threads:[~2012-07-05 12:37 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 12:36 [PATCH 0/28] AMD IOMMU interrupt remapping support Joerg Roedel
2012-07-05 12:36 ` [PATCH 01/28] x86/irq: Add data structure to keep AMD specific irq remapping information Joerg Roedel
2012-07-05 12:36 ` [PATCH 02/28] x86/irq: Introduce irq_cfg->remapped Joerg Roedel
2012-07-05 12:36 ` Joerg Roedel [this message]
2012-07-06  8:50   ` [PATCH 03/28] x86/irq: Use irq_remap specific print_IO_APIC paths only on Intel Ingo Molnar
2012-07-06 13:05     ` Joerg Roedel
2012-07-06 14:00       ` Ingo Molnar
2012-07-09 12:32         ` Joerg Roedel
2012-07-05 12:36 ` [PATCH 04/28] iommu/amd: Use acpi_get_table instead of acpi_table_parse Joerg Roedel
2012-07-05 12:36 ` [PATCH 05/28] iommu/amd: Split out PCI related parts of IOMMU initialization Joerg Roedel
2012-07-05 12:36 ` [PATCH 06/28] iommu/amd: Move informational prinks out of iommu_enable Joerg Roedel
2012-07-06  4:08   ` Joe Perches
2012-07-06 12:08     ` Joerg Roedel
2012-07-05 12:36 ` [PATCH 07/28] iommu/amd: Introduce early_amd_iommu_init routine Joerg Roedel
2012-07-05 12:36 ` [PATCH 08/28] iommu/amd: Split enable_iommus() routine Joerg Roedel
2012-07-05 12:36 ` [PATCH 09/28] iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops() Joerg Roedel
2012-07-05 12:36 ` [PATCH 10/28] iommu/amd: Introduce amd_iommu_init_dma routine Joerg Roedel
2012-07-05 12:36 ` [PATCH 11/28] iommu/amd: Convert iommu initialization to state machine Joerg Roedel
2012-07-05 12:36 ` [PATCH 12/28] iommu/amd: Keep track of HPET and IOAPIC device ids Joerg Roedel
2012-07-05 12:36 ` [PATCH 13/28] iommu/amd: Add slab-cache for irq remapping tables Joerg Roedel
2012-07-05 12:36 ` [PATCH 14/28] iommu/amd: Allocate data structures to keep track of " Joerg Roedel
2012-07-05 12:36 ` [PATCH 15/28] iommu/amd: Check if IOAPIC information is correct Joerg Roedel
2012-07-05 12:36 ` [PATCH 16/28] iommu/amd: Block all interrupts by default with irq-remapping enabled Joerg Roedel
2012-07-05 12:36 ` [PATCH 17/28] iommu/amd: Split device table initialization into irq and dma part Joerg Roedel
2012-07-06 13:08   ` Joerg Roedel
2012-07-05 12:36 ` [PATCH 18/28] iommu/amd: Make sure IOMMU is not considered to translate itself Joerg Roedel
2012-07-05 12:36 ` [PATCH 19/28] iommu/amd: Add IRTE invalidation routine Joerg Roedel
2012-07-05 12:36 ` [PATCH 20/28] iommu/amd: Add routines to manage irq remapping tables Joerg Roedel
2012-07-05 12:36 ` [PATCH 21/28] iommu/amd: Add IOAPIC remapping routines Joerg Roedel
2012-07-05 12:36 ` [PATCH 22/28] iommu/amd: Implement MSI routines for interrupt remapping Joerg Roedel
2012-07-05 12:36 ` [PATCH 23/28] iommu/amd: Add call-back routine for HPET MSI Joerg Roedel
2012-07-05 12:36 ` [PATCH 24/28] iommu/amd: Add initialization routines for AMD interrupt remapping Joerg Roedel
2012-07-05 12:36 ` [PATCH 25/28] iommu/amd: Make sure irq remapping still works on dma init failure Joerg Roedel
2012-07-05 12:36 ` [PATCH 26/28] iommu/irq: Use amd_iommu_irq_ops if supported Joerg Roedel
2012-07-05 12:36 ` [PATCH 27/28] iommu/amd: Print message to system log when irq remapping is enabled Joerg Roedel
2012-07-05 12:36 ` [PATCH 28/28] iommu/amd: Report irq remapping through IOMMU-API Joerg Roedel
2012-07-06 14:08 ` [PATCH 0/28] AMD IOMMU interrupt remapping support Joerg Roedel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1341491808-23083-4-git-send-email-joerg.roedel@amd.com \
    --to=joerg.roedel@amd.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=suresh.b.siddha@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome