tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Xorg panics the system (radeondrm) on startup: 5.0_RC3
On Mon, Apr 13, 2009 at 12:49:27PM +0100, Hugo Silva wrote:
> Hi list,
>
> I'm seeing a panic while starting Xorg:
>
>
> uname:
> NetBSD laptop 5.0_RC3 NetBSD 5.0_RC3 (LAPTOP-20090409) #1: Fri Apr 10
> 13:16:18 WEST 2009 root@laptop:/usr/obj/sys/arch/i386/compile/LAPTOP i386
>
> selected dmesg:
> agp0 at pchb0: can't find internal VGA device config space
> (...)
> radeondrm0 at vga0: ATI Radeon RV350 Mobility 9600 M10 NP (unit 0)
I think our DRM code has trouble with non-intel graphics cards attached
behind intel AGP bridges. There's a bit of code in sys/dev/pci/agp_i810.c
that looks like the following:
if (pci_find_device(&isc->vga_pa, agp_i810_vgamatch) == 0) {
#if NAGP_INTEL > 0
const struct pci_attach_args *pa = aux;
switch (PCI_PRODUCT(pa->pa_id)) {
case PCI_PRODUCT_INTEL_82840_HB:
case PCI_PRODUCT_INTEL_82865_HB:
case PCI_PRODUCT_INTEL_82845G_DRAM:
case PCI_PRODUCT_INTEL_82815_FULL_HUB:
return agp_intel_attach(parent, self, aux);
}
#endif
aprint_error(": can't find internal VGA device config space\n");
free(isc, M_AGP);
return ENOENT;
}
I suspect you want to end up calling agp_intel_attach() vs. falling into
the default case, but that might require adding knowledge of newer Intel
AGP host interfaces in agp_intel.c. That'a about all I know about it :)
It might be as easy as adding a case for the PCI ID of your AGP host
interface (I assume this is pcbh0 in your case) to the above case, or it
might require work in agp_intel.c as well.
> [drm:pid0:radeon_driver_load] AGP card detected
> [drm:pid0:drm_agp_init] agp_available = 1
> radeondrm0: AGP at 0x00000000 0MB
> [drm:pid0:drm_mtrr_add] offset=0 size=0
Yeah, this looks like it's unhappy... 0MB at address 0.. hmmm.
--rafal
--
Time is an illusion; lunchtime, doubly so. |/\/\| Rafal Boni
-- Ford Prefect |\/\/|
rafal%pobox.com@localhost
Home |
Main Index |
Thread Index |
Old Index