Messages in this thread | | | Date | Mon, 18 Oct 1999 09:28:08 +0100 | From | Giuliano Procida <> | Subject | GFP_DMA not good enough for problem hardware |
| |
I have a device driver (atm/ambassador.c) which works on i386 but not on alpha (it may well not work on other platforms as well, but I have not had any reports). The problem is as follows:
The NIC contains a small boot loader in ROM which the driver uses to upload the real microcode image. Communication is through registers and a block of host memory. Unfortunately, the boot loader has a restricted window on the host's (PCI bus) RAM, namely 0-1Gb; on Alpha, the stack and heap seem to be (just) above 1Gb in bus addresses.
Allocating the communication block with GFP_DMA seems to makes no difference on some alpha sub-architectures (including the one I am testing with - Avanti). In any case, the driver may well fail on i386 machines with 4Gb of RAM.
I'm sure other driver writers have hit similar problems before. What can I do to fix this?
Many thanks for any advice, Giuliano Procida.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |