bus_dma lowaddr problems with snd_t4dwave
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
More information about the freebsd-sparc64