From patchwork Mon Jul 18 23:16:02 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Yinghai Lu X-Patchwork-Id: 987892 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p6ING5AZ013782 for ; Mon, 18 Jul 2011 23:16:06 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750966Ab1GRXQE (ORCPT ); Mon, 18 Jul 2011 19:16:04 -0400 Received: from mail-vw0-f46.google.com ([209.85.212.46]:59438 "EHLO mail-vw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750829Ab1GRXQD (ORCPT ); Mon, 18 Jul 2011 19:16:03 -0400 Received: by vws1 with SMTP id 1so2529774vws.19 for ; Mon, 18 Jul 2011 16:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=GkZPGJhsyRGcdHpPTpJ0BcLzPEj8gWONGWUl1zQvuJQ=; b=VW/Ct22mkBLUqeKL6FqyKVZJgcTJDMV2+UB05hAgweCKNg5/b4KrVurwLkTqTyxWlb wh288oBT9pTrrYPDxcN/ryEBg90xOfrGM/NF7XLsEPTXXWvR65Y33esbHpnZ7mS83WbN GM8gyd82vplva1iUt2xn65rQN6DqBjXigoEZA= MIME-Version: 1.0 Received: by 10.52.30.197 with SMTP id u5mr6445819vdh.121.1311030962412; Mon, 18 Jul 2011 16:16:02 -0700 (PDT) Received: by 10.52.181.38 with HTTP; Mon, 18 Jul 2011 16:16:02 -0700 (PDT) In-Reply-To: References: <20110718211620.GD4770@plapp.qlogic.org> Date: Mon, 18 Jul 2011 16:16:02 -0700 X-Google-Sender-Auth: gmzDEkNBStQwhXcLgMGNL_AHdY8 Message-ID: Subject: Re: CONFIG_INTR_REMAP and CONFIG_DMAR dependencies? From: Yinghai Lu To: Andrew Vasquez Cc: linux scsi dev , linux pci , suresh.b.siddha@intel.com, hpa@linux.intel.com, Avik Shau , Giridhar Malavali Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Mon, 18 Jul 2011 23:16:06 +0000 (UTC) On Mon, Jul 18, 2011 at 2:32 PM, Yinghai Lu wrote: > On Mon, Jul 18, 2011 at 2:16 PM, Andrew Vasquez > wrote: >> Suresh, >> >> Any thoughts/ideas on this?  Could you help with the INTR-REMAP >> messages? >> >> Thanks, >> Andrew Vasquez >> >> ---- >> >> All, >> >> We've seen a few reports logged with upstream kernels where qla2xxx is >> unable to initialize HW due to what appears to be a lack of >> interrupt routing: >> >>        [ 1137.271156] qla2xxx 0000:18:00.0: Found an ISP2532, irq 52, iobase 0xffffc90000028000 >>        [ 1137.271438] qla2xxx 0000:18:00.0: irq 96 for MSI/MSI-X >>        [ 1137.271447] qla2xxx 0000:18:00.0: irq 97 for MSI/MSI-X >>        [ 1137.271706] qla2xxx 0000:18:00.0: Configuring PCI space... >>        [ 1137.271725] qla2xxx 0000:18:00.0: setting latency timer to 64 >>        [ 1137.271732] qla2xxx 0000:18:00.0: enabling Mem-Wr-Inval >>        [ 1137.278705] DRHD: handling fault status reg 2 >>        [ 1137.278715] INTR-REMAP: Request device [[18:00.0] fault index 20 >>        [ 1137.278717] INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear >>        [ 1159.389099] qla2xxx 0000:0c:07.0: Cable is unplugged... >>        [ 1167.218478] qla2xxx 0000:18:00.0: Mailbox command timeout occurred. Scheduling ISP abort. eeh_busy: 0x0 >>        [ 1167.218490] qla2xxx 0000:18:00.0: Unable to burst-read optrom segment (100/7ff50400/18389b000). >>        [ 1167.218496] qla2xxx 0000:18:00.0: Reverting to slow-read. >>        [ 1197.174623] qla2xxx 0000:18:00.0: Unable to burst-read optrom segment (100/7ff50000/18389b000). >>        [ 1197.174632] qla2xxx 0000:18:00.0: Reverting to slow-read. >>        [ 1197.190613] qla2xxx 0000:18:00.0: Configure NVRAM parameters... >>        [ 1197.198582] qla2xxx 0000:18:00.0: Verifying loaded RISC code... >>        [ 1227.142951] qla2xxx 0000:18:00.0: Failed mailbox send register test >>        [ 1227.142959] qla2xxx 0000:18:00.0: Failed to initialize adapter please check attached patch, it should fix that configuration. Thanks Yinghai --- drivers/iommu/dmar.c | 11 +++++++++++ include/linux/dmar.h | 4 +--- 2 files changed, 12 insertions(+), 3 deletions(-) Index: linux-2.6/include/linux/dmar.h =================================================================== --- linux-2.6.orig/include/linux/dmar.h +++ linux-2.6/include/linux/dmar.h @@ -232,9 +232,7 @@ struct dmar_atsr_unit { #define for_each_atsr_unit(atsr) \ list_for_each_entry(atsr, &dmar_atsr_units, list) -extern int intel_iommu_init(void); -#else /* !CONFIG_DMAR: */ -static inline int intel_iommu_init(void) { return -ENODEV; } #endif /* CONFIG_DMAR */ +extern int intel_iommu_init(void); #endif /* __DMAR_H__ */ Index: linux-2.6/drivers/iommu/dmar.c =================================================================== --- linux-2.6.orig/drivers/iommu/dmar.c +++ linux-2.6/drivers/iommu/dmar.c @@ -722,6 +722,17 @@ int __init detect_intel_iommu(void) return ret ? 1 : -ENODEV; } +#ifndef CONFIG_DMAR +int __init intel_iommu_init(void) +{ + if (dmar_table_init()) { + return -ENODEV; + } + + dmar_dev_scope_init(); + return -ENODEV; +} +#endif int alloc_iommu(struct dmar_drhd_unit *drhd) {