Commit 7d22476d authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://linux-dj.bkbits.net/agpgart

into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents 96560f76 dbcf91f2
...@@ -130,7 +130,7 @@ config AGP_VIA ...@@ -130,7 +130,7 @@ config AGP_VIA
depends on AGP && X86 && !X86_64 depends on AGP && X86 && !X86_64
help help
This option gives you AGP support for the GLX component of This option gives you AGP support for the GLX component of
XFree86 4.x on VIA MPV3/Apollo Pro chipsets. XFree86 4.x on VIA MVP3/Apollo Pro chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N. use GLX or DRI. If unsure, say N.
......
...@@ -675,4 +675,4 @@ module_exit(agp_amd64_cleanup); ...@@ -675,4 +675,4 @@ module_exit(agp_amd64_cleanup);
MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>, Andi Kleen"); MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>, Andi Kleen");
MODULE_PARM(agp_try_unsupported, "1i"); MODULE_PARM(agp_try_unsupported, "1i");
MODULE_LICENSE("GPL and additional rights"); MODULE_LICENSE("GPL");
...@@ -162,11 +162,11 @@ static void *i8xx_alloc_pages(void) ...@@ -162,11 +162,11 @@ static void *i8xx_alloc_pages(void)
page = alloc_pages(GFP_KERNEL, 2); page = alloc_pages(GFP_KERNEL, 2);
if (page == NULL) { if (page == NULL) {
return 0; return NULL;
} }
if (change_page_attr(page, 4, PAGE_KERNEL_NOCACHE) < 0) { if (change_page_attr(page, 4, PAGE_KERNEL_NOCACHE) < 0) {
__free_page(page); __free_page(page);
return 0; return NULL;
} }
get_page(page); get_page(page);
SetPageLocked(page); SetPageLocked(page);
...@@ -746,7 +746,7 @@ static int intel_i915_create_gatt_table(void) ...@@ -746,7 +746,7 @@ static int intel_i915_create_gatt_table(void)
size = agp_bridge->current_size; size = agp_bridge->current_size;
page_order = size->page_order; page_order = size->page_order;
num_entries = size->num_entries; num_entries = size->num_entries;
agp_bridge->gatt_table_real = 0; agp_bridge->gatt_table_real = NULL;
pci_read_config_dword(intel_i830_private.i830_dev, I915_MMADDR, &temp); pci_read_config_dword(intel_i830_private.i830_dev, I915_MMADDR, &temp);
pci_read_config_dword(intel_i830_private.i830_dev, I915_PTEADDR,&temp2); pci_read_config_dword(intel_i830_private.i830_dev, I915_PTEADDR,&temp2);
...@@ -1489,18 +1489,13 @@ static struct agp_bridge_driver intel_7505_driver = { ...@@ -1489,18 +1489,13 @@ static struct agp_bridge_driver intel_7505_driver = {
.agp_destroy_page = agp_generic_destroy_page, .agp_destroy_page = agp_generic_destroy_page,
}; };
static int find_i810(u16 device, const char *name) static int find_i810(u16 device)
{ {
struct pci_dev *i810_dev; struct pci_dev *i810_dev;
i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL, device, NULL); i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL, device, NULL);
if (!i810_dev) { if (!i810_dev)
printk(KERN_ERR PFX "Detected an Intel %s Chipset, "
"but could not find the secondary device.\n",
name);
return 0; return 0;
}
intel_i810_private.i810_dev = i810_dev; intel_i810_private.i810_dev = i810_dev;
return 1; return 1;
} }
...@@ -1550,29 +1545,29 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, ...@@ -1550,29 +1545,29 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
name = "440GX"; name = "440GX";
break; break;
case PCI_DEVICE_ID_INTEL_82810_MC1: case PCI_DEVICE_ID_INTEL_82810_MC1:
if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG1, "i810")) name = "i810";
if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG1))
goto fail; goto fail;
bridge->driver = &intel_810_driver; bridge->driver = &intel_810_driver;
name = "i810";
break; break;
case PCI_DEVICE_ID_INTEL_82810_MC3: case PCI_DEVICE_ID_INTEL_82810_MC3:
if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG3, "i810 DC100")) name = "i810 DC100";
if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG3))
goto fail; goto fail;
bridge->driver = &intel_810_driver; bridge->driver = &intel_810_driver;
name = "i810 DC100";
break; break;
case PCI_DEVICE_ID_INTEL_82810E_MC: case PCI_DEVICE_ID_INTEL_82810E_MC:
if (!find_i810(PCI_DEVICE_ID_INTEL_82810E_IG, "i810 E")) name = "i810 E";
if (!find_i810(PCI_DEVICE_ID_INTEL_82810E_IG))
goto fail; goto fail;
bridge->driver = &intel_810_driver; bridge->driver = &intel_810_driver;
name = "i810 E";
break; break;
case PCI_DEVICE_ID_INTEL_82815_MC: case PCI_DEVICE_ID_INTEL_82815_MC:
/* /*
* The i815 can operate either as an i810 style * The i815 can operate either as an i810 style
* integrated device, or as an AGP4X motherboard. * integrated device, or as an AGP4X motherboard.
*/ */
if (find_i810(PCI_DEVICE_ID_INTEL_82815_CGC, "i815")) if (find_i810(PCI_DEVICE_ID_INTEL_82815_CGC))
bridge->driver = &intel_810_driver; bridge->driver = &intel_810_driver;
else else
bridge->driver = &intel_815_driver; bridge->driver = &intel_815_driver;
...@@ -1708,7 +1703,10 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, ...@@ -1708,7 +1703,10 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
pci_set_drvdata(pdev, bridge); pci_set_drvdata(pdev, bridge);
return agp_add_bridge(bridge); return agp_add_bridge(bridge);
fail:
fail:
printk(KERN_ERR PFX "Detected an Intel %s chipset, "
"but could not find the secondary device.\n", name);
agp_put_bridge(bridge); agp_put_bridge(bridge);
return -ENODEV; return -ENODEV;
} }
......
...@@ -633,5 +633,5 @@ module_init(agp_intelmch_init); ...@@ -633,5 +633,5 @@ module_init(agp_intelmch_init);
module_exit(agp_intelmch_cleanup); module_exit(agp_intelmch_cleanup);
MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>"); MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>");
MODULE_LICENSE("GPL and additional rights"); MODULE_LICENSE("GPL");
...@@ -168,6 +168,10 @@ static struct agp_device_ids sis_agp_device_ids[] __devinitdata = ...@@ -168,6 +168,10 @@ static struct agp_device_ids sis_agp_device_ids[] __devinitdata =
.device_id = PCI_DEVICE_ID_SI_630, .device_id = PCI_DEVICE_ID_SI_630,
.chipset_name = "630", .chipset_name = "630",
}, },
{
.device_id = PCI_DEVICE_ID_SI_635,
.chipset_name = "635",
},
{ {
.device_id = PCI_DEVICE_ID_SI_645, .device_id = PCI_DEVICE_ID_SI_645,
.chipset_name = "645", .chipset_name = "645",
......
...@@ -503,5 +503,5 @@ static void __exit agp_via_cleanup(void) ...@@ -503,5 +503,5 @@ static void __exit agp_via_cleanup(void)
module_init(agp_via_init); module_init(agp_via_init);
module_exit(agp_via_cleanup); module_exit(agp_via_cleanup);
MODULE_LICENSE("GPL and additional rights"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>"); MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment