From: Geert U. <ge...@li...> - 2001-02-12 08:08:03
|
On Sat, 10 Feb 2001, Glenn Hisdal wrote: > PCI: Resource ef000000-ef01ffff (f=200, d=0, p=0) > PCI: Cannot allocate resource region 0 of device 00:01.0 > PCI: Resource e0000000-e07fffff (f=200, d=0, p=0) > PCI: Cannot allocate resource region 1 of device 00:01.0 > PCI: Resource e1000000-e17fffff (f=200, d=0, p=0) > PCI: Cannot allocate resource region 2 of device 00:01.0 This usually means that those regions are not inside the bus resource regions (or the bus doesn't have any bus resources filled in). > PCI: Error while updating region 00:01.0/1 (10800000 != e1000000) > got res[10800000:10ffffff] for resource 1 of Texas Instruments TVP4020 [Permedia 2] > apus_pci: apus_pcibios_write_config_dword: writelb: 0x0, d: 0x1, f: 0x0, o: 0x18, v: 0x11000000 > apus_pci: apus_pcibios_read_config_dword: readlb: 0x0, d: 0x1, f: 0x0, o: 0x18, v: 0x11000000 > got res[11000000:117fffff] for resource 2 of Texas Instruments TVP4020 [Permedia 2] And thus the PCI assignment code tries to assign new regions from the bus resource, or from pci_mem if the bus resources are empty (it looks like they are empty, 0x10000000 is the default start of pci mem). I guess the errors come from the hardcoded CyberVision PCI bridge? On Sun, 11 Feb 2001, Glenn Hisdal wrote: > On 11-Feb-01, Glenn wrote: > > On 11-Feb-01, Michel wrote: > >> Glenn Hisdal wrote: > > >>> PCI: Resource ef000000-ef01ffff (f=200, d=0, p=0) > >>> PCI: Cannot allocate resource region 0 of device 00:01.0 > >>> PCI: Resource e0000000-e07fffff (f=200, d=0, p=0) > >>> PCI: Cannot allocate resource region 1 of device 00:01.0 > >>> PCI: Resource e1000000-e17fffff (f=200, d=0, p=0) > >>> PCI: Cannot allocate resource region 2 of device 00:01.0 > > > I have managed to remove these errors. > > I'll try to make a diff... > > ok. there should be a diff attached to this mail (i hope). > I don't know if it's any good, but it stopped complaining about the resource > allocation. > I just did a little cut and paste from chrp_pci.c > > - glenn > > Index: 2.3/arch/ppc/kernel/apus_pci.c > =================================================================== > RCS file: /cvsroot/linux-apus/2.3/arch/ppc/kernel/apus_pci.c,v > retrieving revision 1.6 > diff -r1.6 apus_pci.c > 106a107 > > static struct resource pci_mem = { "B/CVisionPPC PCI mem", CVPPC_FB_APERTURE_ONE, CVPPC_PCI_CONFIG, IORESOURCE_MEM }; > 115a117,119 > > > > request_resource(&iomem_resource, &pci_mem); > > printk("%s: PCI mem resource requested\n", __FUNCTION__); > 120,123c124 > < struct resource pci_mem = { "B/CVisionPPC PCI mem", CVPPC_FB_APERTURE_ONE, CVPPC_PCI_CONFIG, IORESOURCE_MEM }; > < > < request_resource(&iomem_resource, &pci_mem); > < printk("%s: PCI mem resource requested\n", __FUNCTION__); > --- > > bus->resource[1] = &pci_mem; This looks fine to me. BTW, please use `diff -u' next time (or add the line diff -u to your ~/.cvsrc to make it the default). Now please install pciutils and post the output of `lspci -vv'. Thx! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |