Comment 35 for bug 183456

Revision history for this message
Thomas Richter (thor-math) wrote :

The problem is not which DMA mask the kernel assigns to the module. The problem is what the kernel does if the memory to be accessed via the emu10k1 DMA is *not* in range of the DMA mask. The emu10k1 reaches the 30 bit address space just fine, as my all-day experience tells me.

What the kernel driver does is in principle correct - it goes for the 24 bit DMA space (the lowest 16 MB or so). This address range would be reachable by the emu10k1. The problem is just that this memory region is too small to hold a sound font, and then simply fails. The granularity offered by the kernel is too small - there is either the 64 bit space (which is not reachable by PCI anyhow), then the 4GB space, still too large for the emu10k1, and then the 16MB ISA space, which is reachable, but too small to be useful. Thus, the kernel memory architecture is too unflexible.