[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1iqn2ein5.fsf@fess.ebiederm.org>
Date: Sun, 22 Feb 2009 04:54:54 -0800
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Prakash Punnoor <prakash@...noor.de>
Cc: Robert Hancock <hancockrwd@...il.com>,
Yinghai Lu <yinghai@...nel.org>,
Jesse Barnes <jbarnes@...tuousgeek.org>,
Andrew Morton <akpm@...ux-foundation.org>, david@...g.hm,
Matthew Wilcox <matthew@....cx>,
"linux-kernel" <linux-kernel@...r.kernel.org>,
linux-scsi@...r.kernel.org, DL-MPTFusionLinux@....com,
linux-pci@...r.kernel.org
Subject: Re: [PATCH] pci: enable MSI on 8132
Prakesh could you try this patch instead?
I think the problem is simply that the MCP55 ht mapping capability
requires an address to be programed into it and it wasn't in your
case.
It should not hurt to enable one msi ht mapping capability too many.
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index baad093..f7a0370 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2017,10 +2017,19 @@ static void __devinit ht_enable_msi_mapping(struct pci_dev *dev)
while (pos && ttl--) {
u8 flags;
- if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS,
- &flags) == 0) {
+ if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, &flags))
+ return;
+
+ if (!(flags & HT_MSI_FLAGS_ENABLE)) {
dev_info(&dev->dev, "Enabling HT MSI Mapping\n");
+ if (!(flags & HT_MSI_FLAGS_FIXED)) {
+ pci_write_config_dword(dev, pos + HT_MSI_ADDR_LO,
+ (HT_MSI_FIXED_ADDR & HT_MSI_FIXED_ADDR));
+ pci_write_config_dword(dev, pos + HT_MSI_ADDR_HI,
+ (HT_MSI_FIXED_ADDR >> 32));
+ }
+
pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
flags | HT_MSI_FLAGS_ENABLE);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists