From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Olivier Galibert <galibert@pobox.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH] PCI mmconfig support for Intel 915 bridges
Date: Wed, 10 Jan 2007 18:53:03 -0800 [thread overview]
Message-ID: <200701101853.04059.jbarnes@virtuousgeek.org> (raw)
This is a resend of the patch I sent earlier to Oliver. It adds support
for Intel 915 bridge chips to the new PCI MMConfig detection code. Tested
and works on my sole 915 based platform (a Toshiba laptop). I added
register masking per Oliver's suggestion, and moved the __init qualifier to
after the 'static const char' to match Ogawa-san's recent cleanup patches.
Over time we can probably associate more PCI IDs with this routine, since
i915 family contains a few other chips. But since I didn't have platforms
to test such additions on, they're left out for now.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Thanks,
Jesse
diff -Napur -X /home/jbarnes/dontdiff linux-2.6.19-mmconfig.orig/arch/i386/pci/mmconfig-shared.c linux-2.6.19-mmconfig/arch/i386/pci/mmconfig-shared.c
--- linux-2.6.19-mmconfig.orig/arch/i386/pci/mmconfig-shared.c 2007-01-07 10:10:29.000000000 -0800
+++ linux-2.6.19-mmconfig/arch/i386/pci/mmconfig-shared.c 2007-01-10 18:46:46.000000000 -0800
@@ -71,6 +71,26 @@ static __init const char *pci_mmcfg_e752
return "Intel Corporation E7520 Memory Controller Hub";
}
+static const char __init *pci_mmcfg_intel_915(void)
+{
+ u32 pciexbar, len = 0;
+
+ pci_conf1_read(0, 0, PCI_DEVFN(0,0), 0x48, 4, &pciexbar);
+
+ /* No enable bit or size field, so assume 256M range is enabled. */
+ len = 0x10000000U;
+ pci_mmcfg_config_num = 1;
+ pciexbar &= 0xe0000000; /* mask out potentially bogus bits */
+
+ pci_mmcfg_config = kzalloc(sizeof(pci_mmcfg_config[0]), GFP_KERNEL);
+ pci_mmcfg_config[0].base_address = pciexbar;
+ pci_mmcfg_config[0].pci_segment_group_number = 0;
+ pci_mmcfg_config[0].start_bus_number = 0;
+ pci_mmcfg_config[0].end_bus_number = (len >> 20) - 1;
+
+ return "Intel Corporation 915PM/GM/GMS Express Memory Controller Hub";
+}
+
static __init const char *pci_mmcfg_intel_945(void)
{
u32 pciexbar, mask = 0, len = 0;
@@ -126,6 +146,7 @@ struct pci_mmcfg_hostbridge_probe {
static __initdata struct pci_mmcfg_hostbridge_probe pci_mmcfg_probes[] = {
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH, pci_mmcfg_e7520 },
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82915GM_HB, pci_mmcfg_intel_915 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82945G_HB, pci_mmcfg_intel_945 },
};
next reply other threads:[~2007-01-11 2:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-11 2:53 Jesse Barnes [this message]
2007-01-11 14:38 ` [PATCH] PCI mmconfig support for Intel 915 bridges Olivier Galibert
2007-04-25 22:35 ` Jesse Barnes
2007-04-25 23:07 ` Andrew Morton
2007-04-25 23:16 ` Jesse Barnes
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=200701101853.04059.jbarnes@virtuousgeek.org \
--to=jbarnes@virtuousgeek.org \
--cc=akpm@osdl.org \
--cc=galibert@pobox.com \
--cc=linux-kernel@vger.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