bus_dma lowaddr problems with snd_t4dwave

Pyun YongHyeon pyunyh at gmail.com
Sun Dec 30 22:28:24 PST 2007

On Sun, Dec 30, 2007 at 08:05:15PM -0800, Stephen Hurd wrote:
 > After installing FreeBSD 7.0-rc1 on my Blade 100, I decided to take a 
 > stab at getting the on board audio to work.  The bit that prevents the 
 > driver from working is that bus_dmamap_load() fails when lowaddr is is 
 > not somewhere over 3GB.  The Trident cards apparently require the DMA 
 > address to be in the low 1GB.

Yes, the hardware sucks. You'd better to use newer audio cards that
do not have DMA address limitations(e.g. Envy24HT). Last time I
checked snd_envy24ht(4) has bus_dma(9) issues so I'm not sure whether
it works or not(Had no time to fix it due to other pending works).

Long time ago I also tried to make PCI t4dwave(4) work on AXe. The
DVMA base address on AXe was beyond scope of DMA address space of
Trident 4DWave hardware. I even tried to lower the DVMA base address
by poking PCR_TAS. With that change DVMA base address was lowered but
other hardwares on the box(e.g. ethernet) didn't work at all. I guess
that comes from the region overlapping among devices and this would be
one of reason why FreeBSD just get the DVMA base address from 

 > Are there no bounce pages on sparc64?

I think problem is DVMA base address. I have no idea how Sun solved
this issue. If we can solve this issue lots of PCI audio hardwares
would work.

Pyun YongHyeon

More information about the freebsd-sparc64 mailing list