Re: [BUG] agpgart-amd64 not initialized in 2.6.33-rc5 ifiommu=allowed in kernel command line

From: FUJITA Tomonori
Date: Tue Feb 02 2010 - 10:50:21 EST


On Tue, 2 Feb 2010 20:23:40 +0900
FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:

> > If CONFIG_AGP_AMD64=m it works (I have agp) with no kernel command
> > line parameters. If I boot to no graphics (runlevel 3 in slackware),
> > lsmod output is:
> >
> > amd64_agp 7463 1
> > agpgart 27765 1 amd64_agp
> >
> > amd64_agp is in use (not known by who), cannot be unloaded and I cannot
> > test load/unload.
> >
> > If CONFIG_AGP_AMD64=m and iommu=allowed is in kernel command line
> > I have no agp.
> > dmesg:
> > [drm:mga_do_agp_dma_bootstrap] *ERROR* Unable to acquire AGP: -19
>
> This works with 2.6.32, right? The following patch works?

Duh, sorry, please this instead:

diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index 34cf04e..fd50ead 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -767,16 +767,19 @@ int __init agp_amd64_init(void)

static int __init agp_amd64_mod_init(void)
{
+#ifndef MODULE
if (gart_iommu_aperture)
return agp_bridges_found ? 0 : -ENODEV;
-
+#endif
return agp_amd64_init();
}

static void __exit agp_amd64_cleanup(void)
{
+#ifndef MODULE
if (gart_iommu_aperture)
return;
+#endif
if (aperture_resource)
release_resource(aperture_resource);
pci_unregister_driver(&agp_amd64_pci_driver);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/