Re: Problem with ioremap which returns NULL in 2.6 kernel

From: Markus Lidel
Date: Wed Jun 02 2004 - 03:53:42 EST


Hello,

Davide Rossetti wrote:
could someone help me with a ioremap problem. If there are two controllers plugged in, the ioremap request for the first controller is successfull, but the second returns NULL. Here is the output of the driver:
i2o: Checking for PCI I2O controllers...
i2o: I2O controller on bus 0 at 72.
i2o: PCI I2O controller at 0xD0000000 size=134217728
I2O: MTRR workaround for Intel i960 processor
i2o/iop0: Installed at IRQ17
i2o: I2O controller on bus 0 at 96.
i2o: PCI I2O controller at 0xD8000000 size=134217728
i2o: Unable to map controller.
If "size=xxxx" indicates the size you are remapping, then that's
I saw the same problem on a PCI card with a 128MB BAR. it is triggered on an Tyan opteron mobo, while on a old Dell P4 mobo it is ok. I

Ah, so it could maybe a mainboard problem?

followed a bit the source code for ioremap and found two places in which it can fail,
area = get_vm_area(size, VM_IOREMAP);
if (!area)
return NULL;
addr = area->addr;
if (remap_area_pages(VMALLOC_VMADDR(addr), phys_addr, size, flags)) {
vfree(addr);
return NULL;
}
I had not time to add debug printk and recompila the kernel to check which one is faulty...
The strange thing is that the BARs seems to be laid out correctly, so it does not look like a bios bug...

But even if it's not a bug, maybe a BIOS update would help...

I'll check this out too...

probably too large an area to be remapping. Try remapping only the
memory area needed, and not the entire area.
Is there a way, to increase the size, which could be remapped, or is there a way, to find out what is the maximum size which could be remapped?
we tried with half and it was ok, then we moved up a bit and found the maximum around 80MB I think...

Okay, i'll let try it out with only 64MB.


Thanks for your help!

Best regards,


Markus Lidel
------------------------------------------
Markus Lidel (Senior IT Consultant)

Shadow Connect GmbH
Carl-Reisch-Weg 12
D-86381 Krumbach
Germany

Phone: +49 82 82/99 51-0
Fax: +49 82 82/99 51-11

E-Mail: Markus.Lidel@xxxxxxxxxxxxxxxxx
URL: http://www.shadowconnect.com
-
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/