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> Subject: [PATCH 06/27] iommu/amd: Move informational prinks out of iommu_enable Date: Wed, 11 Jul 2012 15:38:51 +0200 [thread overview] Message-ID: <1342013952-10174-7-git-send-email-joerg.roedel@amd.com> (raw) In-Reply-To: <1342013952-10174-1-git-send-email-joerg.roedel@amd.com> This function will be called before the PCI subsystem is initialized. Therefore dev_name doen't work and IOMMU information can't be printed to the klog as before. Move the code to print that information to a later point where PCI initializtion has already happened. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> --- drivers/iommu/amd_iommu_init.c | 44 ++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index fa6ca8b..bcdcaac 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -312,23 +312,6 @@ static void iommu_set_inv_tlb_timeout(struct amd_iommu *iommu, int timeout) /* Function to enable the hardware */ static void iommu_enable(struct amd_iommu *iommu) { - static const char * const feat_str[] = { - "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", - "IA", "GA", "HE", "PC", NULL - }; - int i; - - printk(KERN_INFO "AMD-Vi: Enabling IOMMU at %s cap 0x%hx", - dev_name(&iommu->dev->dev), iommu->cap_ptr); - - if (iommu->cap & (1 << IOMMU_CAP_EFR)) { - printk(KERN_CONT " extended features: "); - for (i = 0; feat_str[i]; ++i) - if (iommu_feature(iommu, (1ULL << i))) - printk(KERN_CONT " %s", feat_str[i]); - } - printk(KERN_CONT "\n"); - iommu_feature_enable(iommu, CONTROL_IOMMU_EN); } @@ -1096,6 +1079,31 @@ static int iommu_init_pci(struct amd_iommu *iommu) return pci_enable_device(iommu->dev); } +static void print_iommu_info(void) +{ + static const char * const feat_str[] = { + "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", + "IA", "GA", "HE", "PC" + }; + struct amd_iommu *iommu; + + for_each_iommu(iommu) { + int i; + + pr_info("AMD-Vi: Found IOMMU at %s cap 0x%hx\n", + dev_name(&iommu->dev->dev), iommu->cap_ptr); + + if (iommu->cap & (1 << IOMMU_CAP_EFR)) { + pr_info("AMD-Vi: Extended features: "); + for (i = 0; ARRAY_SIZE(feat_str); ++i) { + if (iommu_feature(iommu, (1ULL << i))) + pr_cont(" %s", feat_str[i]); + } + } + pr_cont("\n"); + } +} + static int amd_iommu_init_pci(void) { struct amd_iommu *iommu; @@ -1112,6 +1120,8 @@ static int amd_iommu_init_pci(void) ret = amd_iommu_init_devices(); + print_iommu_info(); + return ret; } -- 1.7.9.5
WARNING: multiple messages have this Message-ID
From: Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org> To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Subject: [PATCH 06/27] iommu/amd: Move informational prinks out of iommu_enable Date: Wed, 11 Jul 2012 15:38:51 +0200 [thread overview] Message-ID: <1342013952-10174-7-git-send-email-joerg.roedel@amd.com> (raw) In-Reply-To: <1342013952-10174-1-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org> This function will be called before the PCI subsystem is initialized. Therefore dev_name doen't work and IOMMU information can't be printed to the klog as before. Move the code to print that information to a later point where PCI initializtion has already happened. Signed-off-by: Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org> --- drivers/iommu/amd_iommu_init.c | 44 ++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index fa6ca8b..bcdcaac 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -312,23 +312,6 @@ static void iommu_set_inv_tlb_timeout(struct amd_iommu *iommu, int timeout) /* Function to enable the hardware */ static void iommu_enable(struct amd_iommu *iommu) { - static const char * const feat_str[] = { - "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", - "IA", "GA", "HE", "PC", NULL - }; - int i; - - printk(KERN_INFO "AMD-Vi: Enabling IOMMU at %s cap 0x%hx", - dev_name(&iommu->dev->dev), iommu->cap_ptr); - - if (iommu->cap & (1 << IOMMU_CAP_EFR)) { - printk(KERN_CONT " extended features: "); - for (i = 0; feat_str[i]; ++i) - if (iommu_feature(iommu, (1ULL << i))) - printk(KERN_CONT " %s", feat_str[i]); - } - printk(KERN_CONT "\n"); - iommu_feature_enable(iommu, CONTROL_IOMMU_EN); } @@ -1096,6 +1079,31 @@ static int iommu_init_pci(struct amd_iommu *iommu) return pci_enable_device(iommu->dev); } +static void print_iommu_info(void) +{ + static const char * const feat_str[] = { + "PreF", "PPR", "X2APIC", "NX", "GT", "[5]", + "IA", "GA", "HE", "PC" + }; + struct amd_iommu *iommu; + + for_each_iommu(iommu) { + int i; + + pr_info("AMD-Vi: Found IOMMU at %s cap 0x%hx\n", + dev_name(&iommu->dev->dev), iommu->cap_ptr); + + if (iommu->cap & (1 << IOMMU_CAP_EFR)) { + pr_info("AMD-Vi: Extended features: "); + for (i = 0; ARRAY_SIZE(feat_str); ++i) { + if (iommu_feature(iommu, (1ULL << i))) + pr_cont(" %s", feat_str[i]); + } + } + pr_cont("\n"); + } +} + static int amd_iommu_init_pci(void) { struct amd_iommu *iommu; @@ -1112,6 +1120,8 @@ static int amd_iommu_init_pci(void) ret = amd_iommu_init_devices(); + print_iommu_info(); + return ret; } -- 1.7.9.5
next prev parent reply other threads:[~2012-07-11 13:39 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-07-11 13:38 [PATCH 0/27] AMD IOMMU interrupt remapping support v2 Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 01/27] x86/irq: Add data structure to keep AMD specific irq remapping information Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 21:42 ` Yinghai Lu 2012-07-11 21:42 ` Yinghai Lu 2012-07-12 15:40 ` Joerg Roedel 2012-07-12 15:40 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 02/27] x86/irq: Introduce irq_cfg->remapped Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 03/27] iommu/amd: Fix sparse warnings Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-17 10:44 ` Joerg Roedel 2012-07-17 10:44 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 04/27] iommu/amd: Use acpi_get_table instead of acpi_table_parse Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 05/27] iommu/amd: Split out PCI related parts of IOMMU initialization Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel [this message] 2012-07-11 13:38 ` [PATCH 06/27] iommu/amd: Move informational prinks out of iommu_enable Joerg Roedel 2012-07-11 13:38 ` [PATCH 07/27] iommu/amd: Introduce early_amd_iommu_init routine Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 08/27] iommu/amd: Split enable_iommus() routine Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 09/27] iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops() Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 10/27] iommu/amd: Introduce amd_iommu_init_dma routine Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 11/27] iommu/amd: Convert iommu initialization to state machine Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 12/27] iommu/amd: Keep track of HPET and IOAPIC device ids Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 13/27] iommu/amd: Add slab-cache for irq remapping tables Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:38 ` [PATCH 14/27] iommu/amd: Allocate data structures to keep track of " Joerg Roedel 2012-07-11 13:38 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 15/27] iommu/amd: Check if IOAPIC information is correct Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 16/27] iommu/amd: Split device table initialization into irq and dma part Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 17/27] iommu/amd: Make sure IOMMU is not considered to translate itself Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 18/27] iommu/amd: Add IRTE invalidation routine Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 19/27] iommu/amd: Add routines to manage irq remapping tables Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 20/27] iommu/amd: Add IOAPIC remapping routines Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 21/27] iommu/amd: Implement MSI routines for interrupt remapping Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 22/27] iommu/amd: Add call-back routine for HPET MSI Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 23/27] iommu/amd: Add initialization routines for AMD interrupt remapping Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 24/27] iommu/amd: Make sure irq remapping still works on dma init failure Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 25/27] iommu/irq: Use amd_iommu_irq_ops if supported Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 26/27] iommu/amd: Print message to system log when irq remapping is enabled Joerg Roedel 2012-07-11 13:39 ` Joerg Roedel 2012-07-11 13:39 ` [PATCH 27/27] iommu/amd: Report irq remapping through IOMMU-API Joerg Roedel 2012-07-11 13:39 ` 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=1342013952-10174-7-git-send-email-joerg.roedel@amd.com \ --to=joerg.roedel@amd.com \ --cc=iommu@lists.linux-foundation.org \ --cc=linux-kernel@vger.kernel.org \ --subject='Re: [PATCH 06/27] iommu/amd: Move informational prinks out of iommu_enable' \ /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
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.