From: Wang Zhenyu <zhenyu.z.wang@intel.com>
To: Dave Jones <davej@redhat.com>
Cc: Carlo Wood <carlo@alinoe.com>,
linux-kernel@vger.kernel.org, eric@anholt.net
Subject: [PATCH][AGPGART] intel_agp: don't load if no IGD and AGP port
Date: Thu, 21 Jun 2007 13:43:18 +0800 [thread overview]
Message-ID: <20070621054318.GA31381@zhen-devel.sh.intel.com> (raw)
In-Reply-To: <20070620154610.GA2802@localhost.localdomain>
Thanks Carlo to report this problem. The following patch should fix
his and potential issue.
[AGPGART] intel_agp: don't load if no IGD detected and no AGP port
After i915 chip, GMCH has no AGP port. Origin bridge driver in device
table will try to access illegal regs like APBASE, APSIZE, etc. This
may cause problem.
So mark them as NULL in the table, we won't load if no IGD got detect
and bridge has no AGP port.
Signed-off-by: Wang Zhenyu <zhenyu.z.wang@intel.com>
---
drivers/char/agp/intel-agp.c | 35 +++++++++++++++++++----------------
1 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index 0439ee9..a124060 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -1843,35 +1843,35 @@ static const struct intel_driver_description {
&intel_845_driver, &intel_830_driver },
{ PCI_DEVICE_ID_INTEL_82875_HB, 0, 0, "i875", &intel_845_driver, NULL },
{ PCI_DEVICE_ID_INTEL_82915G_HB, PCI_DEVICE_ID_INTEL_82915G_IG, 0, "915G",
- &intel_845_driver, &intel_915_driver },
+ NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82915GM_HB, PCI_DEVICE_ID_INTEL_82915GM_IG, 0, "915GM",
- &intel_845_driver, &intel_915_driver },
+ NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82945G_HB, PCI_DEVICE_ID_INTEL_82945G_IG, 0, "945G",
- &intel_845_driver, &intel_915_driver },
+ NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82945GM_HB, PCI_DEVICE_ID_INTEL_82945GM_IG, 1, "945GM",
- &intel_845_driver, &intel_915_driver },
+ NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82945GM_HB, PCI_DEVICE_ID_INTEL_82945GME_IG, 0, "945GME",
- &intel_845_driver, &intel_915_driver },
+ NULL, &intel_915_driver },
{ PCI_DEVICE_ID_INTEL_82946GZ_HB, PCI_DEVICE_ID_INTEL_82946GZ_IG, 0, "946GZ",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_82965G_1_HB, PCI_DEVICE_ID_INTEL_82965G_1_IG, 0, "965G",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_82965Q_HB, PCI_DEVICE_ID_INTEL_82965Q_IG, 0, "965Q",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_82965G_HB, PCI_DEVICE_ID_INTEL_82965G_IG, 0, "965G",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GM_IG, 1, "965GM",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_82965GM_HB, PCI_DEVICE_ID_INTEL_82965GME_IG, 0, "965GME/GLE",
- &intel_845_driver, &intel_i965_driver },
+ NULL, &intel_i965_driver },
{ PCI_DEVICE_ID_INTEL_7505_0, 0, 0, "E7505", &intel_7505_driver, NULL },
{ PCI_DEVICE_ID_INTEL_7205_0, 0, 0, "E7205", &intel_7505_driver, NULL },
{ PCI_DEVICE_ID_INTEL_G33_HB, PCI_DEVICE_ID_INTEL_G33_IG, 0, "G33",
- &intel_845_driver, &intel_g33_driver },
+ NULL, &intel_g33_driver },
{ PCI_DEVICE_ID_INTEL_Q35_HB, PCI_DEVICE_ID_INTEL_Q35_IG, 0, "Q35",
- &intel_845_driver, &intel_g33_driver },
+ NULL, &intel_g33_driver },
{ PCI_DEVICE_ID_INTEL_Q33_HB, PCI_DEVICE_ID_INTEL_Q33_IG, 0, "Q33",
- &intel_845_driver, &intel_g33_driver },
+ NULL, &intel_g33_driver },
{ 0, 0, 0, NULL, NULL, NULL }
};
@@ -1917,8 +1917,11 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
}
if (bridge->driver == NULL) {
- printk(KERN_WARNING PFX "Failed to find bridge device "
- "(chip_id: %04x)\n", intel_agp_chipsets[i].gmch_chip_id);
+ /* bridge has no AGP and no IGD detected */
+ if (cap_ptr)
+ printk(KERN_WARNING PFX "Failed to find bridge device "
+ "(chip_id: %04x)\n",
+ intel_agp_chipsets[i].gmch_chip_id);
agp_put_bridge(bridge);
return -ENODEV;
}
--
1.4.4.4
next prev parent reply other threads:[~2007-06-21 5:44 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-17 18:22 2.6.22-rc5 regression Carlo Wood
2007-06-17 19:58 ` Carlo Wood
2007-06-17 21:49 ` Carlo Wood
2007-06-17 23:18 ` Paul Mundt
2007-06-18 0:10 ` Carlo Wood
2007-06-18 0:25 ` Paul Mundt
2007-06-18 7:01 ` Sean
2007-06-18 17:01 ` Linus Torvalds
2007-06-18 18:12 ` Carlo Wood
2007-06-18 18:15 ` Carlo Wood
2007-06-18 18:35 ` Linus Torvalds
2007-06-18 19:54 ` Carlo Wood
2007-06-18 20:42 ` Linus Torvalds
2007-06-18 22:30 ` Daniel Barkalow
2007-06-18 22:50 ` Carlo Wood
2007-06-18 22:57 ` Linus Torvalds
2007-06-19 23:37 ` Carlo Wood
2007-06-19 23:44 ` Dave Jones
2007-06-20 0:09 ` Linus Torvalds
2007-06-20 13:11 ` Carlo Wood
2007-06-20 13:31 ` Carlo Wood
2007-06-20 1:15 ` Wang Zhenyu
2007-06-20 1:42 ` Wang Zhenyu
2007-06-20 14:02 ` Carlo Wood
2007-06-20 15:46 ` Wang Zhenyu
2007-06-21 5:43 ` Wang Zhenyu [this message]
2007-06-21 16:10 ` [PATCH][AGPGART] intel_agp: don't load if no IGD and AGP port Carlo Wood
2007-06-22 0:55 ` Wang Zhenyu
2007-06-23 16:52 ` Andrew Morton
2007-06-23 18:42 ` Dave Jones
2007-06-23 18:50 ` Andrew Morton
2007-06-23 19:06 ` Dave Jones
2007-06-25 1:01 ` Wang Zhenyu
2007-06-20 13:22 ` 2.6.22-rc5 regression Carlo Wood
2007-06-20 13:58 ` Carlo Wood
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=20070621054318.GA31381@zhen-devel.sh.intel.com \
--to=zhenyu.z.wang@intel.com \
--cc=carlo@alinoe.com \
--cc=davej@redhat.com \
--cc=eric@anholt.net \
--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
all inboxes | Powered by JetHome®