* intel-agp: skip non-AGP devices @ 2004-06-01 16:04 Matt Domsch 2004-06-01 16:20 ` Christoph Hellwig 2004-06-01 16:24 ` Dave Jones 0 siblings, 2 replies; 9+ messages in thread From: Matt Domsch @ 2004-06-01 16:04 UTC (permalink / raw) To: davej; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1558 bytes --] Dave, On our PowerEdge 2600 system, which has an Intel E7501 Memroy Controller Hub, the intel-agp probe code is reporting, at KERN_ERR no less: agpgart: Unsupported Intel chipset (device id 254c) Now, of course it says this, as this device does not present itself as AGP-capable: 00:00.0 Host bridge: Intel Corp. E7501 Memory Controller Hub (rev 01) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Capabilities: [40] #09 [1105] agp_intel_probe() calls pci_find_capability(PCI_CAP_ID_AGP) but doesn't check the return value (should be zero in this case) prior to moving into the switch. The patch below checks for a valid cap_ptr prior to printing the message, now at KERN_WARNING level (it's not really an error, is it?) Thoughts? Thanks, Matt -- Matt Domsch Sr. Software Engineer, Lead Engineer Dell Linux Solutions linux.dell.com & www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com --- intel-agp.c.orig Tue Jun 1 10:45:59 2004 +++ intel-agp.c Tue Jun 1 11:02:56 2004 @@ -1382,8 +1382,9 @@ static int __devinit agp_intel_probe(str name = "E7205"; break; default: - printk(KERN_ERR PFX "Unsupported Intel chipset (device id: %04x)\n", - pdev->device); + if (cap_ptr) + printk(KERN_WARNING PFX "Unsupported Intel chipset (device id: %04x)\n", + pdev->device); return -ENODEV; }; [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-01 16:04 intel-agp: skip non-AGP devices Matt Domsch @ 2004-06-01 16:20 ` Christoph Hellwig 2004-06-01 16:31 ` Dave Jones 2004-06-01 16:24 ` Dave Jones 1 sibling, 1 reply; 9+ messages in thread From: Christoph Hellwig @ 2004-06-01 16:20 UTC (permalink / raw) To: Matt Domsch; +Cc: davej, linux-kernel On Tue, Jun 01, 2004 at 11:04:57AM -0500, Matt Domsch wrote: > Dave, > > On our PowerEdge 2600 system, which has an Intel E7501 Memroy > Controller Hub, the intel-agp probe code is reporting, at KERN_ERR no less: > > agpgart: Unsupported Intel chipset (device id 254c) > ... > agp_intel_probe() calls pci_find_capability(PCI_CAP_ID_AGP) > but doesn't check the return value (should be zero in this case) prior > to moving into the switch. > > > The patch below checks for a valid cap_ptr prior to printing the > message, now at KERN_WARNING level (it's not really an error, is it?) The real problem is that agpgart doesn't properly fill in the pci_id table but claims all devices and then does it's own probing internally. This also breaks hotplug in a funny way. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-01 16:20 ` Christoph Hellwig @ 2004-06-01 16:31 ` Dave Jones 2004-06-08 16:00 ` Matt Domsch 0 siblings, 1 reply; 9+ messages in thread From: Dave Jones @ 2004-06-01 16:31 UTC (permalink / raw) To: Christoph Hellwig, Matt Domsch, linux-kernel On Tue, Jun 01, 2004 at 05:20:58PM +0100, Christoph Hellwig wrote: > > The patch below checks for a valid cap_ptr prior to printing the > > message, now at KERN_WARNING level (it's not really an error, is it?) > > The real problem is that agpgart doesn't properly fill in the pci_id > table but claims all devices and then does it's own probing internally. > This also breaks hotplug in a funny way. This is fixed in agpgart-bk / -mm. Andi went through all the drivers adding their id's. Should be going to Linus soon. Dave ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-01 16:31 ` Dave Jones @ 2004-06-08 16:00 ` Matt Domsch 2004-06-08 16:10 ` Dave Jones 2004-06-08 16:17 ` Matt Domsch 0 siblings, 2 replies; 9+ messages in thread From: Matt Domsch @ 2004-06-08 16:00 UTC (permalink / raw) To: Dave Jones, Christoph Hellwig, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1061 bytes --] On Tue, Jun 01, 2004 at 05:31:00PM +0100, Dave Jones wrote: > On Tue, Jun 01, 2004 at 05:20:58PM +0100, Christoph Hellwig wrote: > > > > The patch below checks for a valid cap_ptr prior to printing the > > > message, now at KERN_WARNING level (it's not really an error, is it?) > > > > The real problem is that agpgart doesn't properly fill in the pci_id > > table but claims all devices and then does it's own probing internally. > > This also breaks hotplug in a funny way. > > This is fixed in agpgart-bk / -mm. Andi went through all the drivers > adding their id's. Should be going to Linus soon. > > Dave FWIW, sworks-agp.c has the same issue in mainline yet today. agpgart: Unsupported Serverworks chipset (device id: 0011) agpgart: Unsupported Serverworks chipset (device id: 0201) I'll look at -mm to verify it's fixed there. Thanks, Matt -- Matt Domsch Sr. Software Engineer, Lead Engineer Dell Linux Solutions linux.dell.com & www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-08 16:00 ` Matt Domsch @ 2004-06-08 16:10 ` Dave Jones 2004-06-08 16:17 ` Matt Domsch 1 sibling, 0 replies; 9+ messages in thread From: Dave Jones @ 2004-06-08 16:10 UTC (permalink / raw) To: Matt Domsch; +Cc: Christoph Hellwig, linux-kernel On Tue, Jun 08, 2004 at 11:00:27AM -0500, Matt Domsch wrote: > > This is fixed in agpgart-bk / -mm. Andi went through all the drivers > > adding their id's. Should be going to Linus soon. > > FWIW, sworks-agp.c has the same issue in mainline yet today. > agpgart: Unsupported Serverworks chipset (device id: 0011) > agpgart: Unsupported Serverworks chipset (device id: 0201) > > I'll look at -mm to verify it's fixed there. Andi did all of the drivers iirc, and these changes are now in mainline btw. Dave ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-08 16:00 ` Matt Domsch 2004-06-08 16:10 ` Dave Jones @ 2004-06-08 16:17 ` Matt Domsch 2004-06-08 16:25 ` Dave Jones 2004-06-08 16:44 ` Dave Jones 1 sibling, 2 replies; 9+ messages in thread From: Matt Domsch @ 2004-06-08 16:17 UTC (permalink / raw) To: Dave Jones, Christoph Hellwig, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2344 bytes --] On Tue, Jun 08, 2004 at 11:00:27AM -0500, Matt Domsch wrote: > On Tue, Jun 01, 2004 at 05:31:00PM +0100, Dave Jones wrote: > > On Tue, Jun 01, 2004 at 05:20:58PM +0100, Christoph Hellwig wrote: > > > > > > The patch below checks for a valid cap_ptr prior to printing the > > > > message, now at KERN_WARNING level (it's not really an error, is it?) > > > > > > The real problem is that agpgart doesn't properly fill in the pci_id > > > table but claims all devices and then does it's own probing internally. > > > This also breaks hotplug in a funny way. > > > > This is fixed in agpgart-bk / -mm. Andi went through all the drivers > > adding their id's. Should be going to Linus soon. > > > > Dave > > FWIW, sworks-agp.c has the same issue in mainline yet today. > agpgart: Unsupported Serverworks chipset (device id: 0011) > agpgart: Unsupported Serverworks chipset (device id: 0201) > > I'll look at -mm to verify it's fixed there. agpgart-bk and -mm didn't add proper PCI ID lists to sworks-agp.c (yet I assume). Patch below does the same for this as I submitted for Intel previously. It only prints a warning now if the device is AGP capable but unrecognized. Thanks, Matt -- Matt Domsch Sr. Software Engineer, Lead Engineer Dell Linux Solutions linux.dell.com & www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com ===== drivers/char/agp/sworks-agp.c 1.41 vs edited ===== --- 1.41/drivers/char/agp/sworks-agp.c Tue Jun 1 02:50:11 2004 +++ edited/drivers/char/agp/sworks-agp.c Tue Jun 8 11:13:38 2004 @@ -447,6 +447,7 @@ struct agp_bridge_data *bridge; struct pci_dev *bridge_dev; u32 temp, temp2; + u8 cap_ptr = 0; /* Everything is on func 1 here so we are hardcoding function one */ bridge_dev = pci_find_slot((unsigned int)pdev->bus->number, @@ -457,6 +458,8 @@ return -ENODEV; } + cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP); + switch (pdev->device) { case 0x0006: /* ServerWorks CNB20HE @@ -470,8 +473,9 @@ break; default: - printk(KERN_ERR PFX "Unsupported Serverworks chipset " - "(device id: %04x)\n", pdev->device); + if (cap_ptr) + printk(KERN_WARNING PFX "Unsupported Serverworks chipset " + "(device id: %04x)\n", pdev->device); return -ENODEV; } [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-08 16:17 ` Matt Domsch @ 2004-06-08 16:25 ` Dave Jones 2004-06-08 16:44 ` Dave Jones 1 sibling, 0 replies; 9+ messages in thread From: Dave Jones @ 2004-06-08 16:25 UTC (permalink / raw) To: Matt Domsch; +Cc: Christoph Hellwig, linux-kernel On Tue, Jun 08, 2004 at 11:17:45AM -0500, Matt Domsch wrote: > agpgart-bk and -mm didn't add proper PCI ID lists to sworks-agp.c (yet > I assume). Patch below does the same for this as I submitted for > Intel previously. It only prints a warning now if the device is AGP > capable but unrecognized. Cool, thanks Matt. I'll look over the other drivers to double check. Dave ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-08 16:17 ` Matt Domsch 2004-06-08 16:25 ` Dave Jones @ 2004-06-08 16:44 ` Dave Jones 1 sibling, 0 replies; 9+ messages in thread From: Dave Jones @ 2004-06-08 16:44 UTC (permalink / raw) To: Matt Domsch; +Cc: Christoph Hellwig, linux-kernel On Tue, Jun 08, 2004 at 11:17:45AM -0500, Matt Domsch wrote: > agpgart-bk and -mm didn't add proper PCI ID lists to sworks-agp.c (yet > I assume). Patch below does the same for this as I submitted for > Intel previously. It only prints a warning now if the device is AGP > capable but unrecognized. Ok, the other drivers do sensible things like checking for cap_ptr, and -ENODEV'ing if we don't find it. Too bad there are some wacky Intel/Sworks chipsets out there that don't have the AGP header, yet have AGP. Dave ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: intel-agp: skip non-AGP devices 2004-06-01 16:04 intel-agp: skip non-AGP devices Matt Domsch 2004-06-01 16:20 ` Christoph Hellwig @ 2004-06-01 16:24 ` Dave Jones 1 sibling, 0 replies; 9+ messages in thread From: Dave Jones @ 2004-06-01 16:24 UTC (permalink / raw) To: Matt Domsch; +Cc: linux-kernel On Tue, Jun 01, 2004 at 11:04:57AM -0500, Matt Domsch wrote: > On our PowerEdge 2600 system, which has an Intel E7501 Memroy > Controller Hub, the intel-agp probe code is reporting, at KERN_ERR no less: > > agpgart: Unsupported Intel chipset (device id 254c) > > Now, of course it says this, as this device does not present itself as > AGP-capable: > > The patch below checks for a valid cap_ptr prior to printing the > message, now at KERN_WARNING level (it's not really an error, is it?) indeed, patch applied. Thanks, Dave ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2004-06-08 16:46 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-06-01 16:04 intel-agp: skip non-AGP devices Matt Domsch 2004-06-01 16:20 ` Christoph Hellwig 2004-06-01 16:31 ` Dave Jones 2004-06-08 16:00 ` Matt Domsch 2004-06-08 16:10 ` Dave Jones 2004-06-08 16:17 ` Matt Domsch 2004-06-08 16:25 ` Dave Jones 2004-06-08 16:44 ` Dave Jones 2004-06-01 16:24 ` Dave Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox