Audio on Sunblade 100

Pyun YongHyeon pyunyh at gmail.com
Sun Aug 23 22:26:45 UTC 2009


On Wed, Aug 19, 2009 at 10:46:03PM +0200, Marius Strobl wrote:

[...]

> > > Ok, I think I've identified the incorrect bus_dma(9) settings
> > > with the help of Tatsuo YOKOGAWA's ali(4) (which as least for
> > > the alignment requirement also matches the NetBSD autri(4). A
> > > new patch is at:
> > > http://people.freebsd.org/~marius/t4dwave_M5451_32-bit.diff
> > 
> > The patch looks good to me but I have two questions. The alignment
> > restriction specified in bus_dma_tag_create(9) really works even
> > if the alignment is greater than PAGE_SIZE? I vaguely remember
> > the alignment was not satisfied last time I tried it on i386 if I
> > specified 256K.
> 
> Hrm, from a quick check of the i386 busdma and the sparc64
> busdma and IOMMU code I see no indication why such an
> alignment shouldn't work as expected, neither do relevant
> man pages like bus_dma(9) and contigmalloc(9) indicate a
> restriction to PAGE_SIZE. Based on the addresses of the
> buffers I get on sparc64 (f.e. 0xc0000000 and 0xc0020000)
> I'd also say it just works. But before possibly commiting
> this change I've to also run-time check it on i386 anyway.
> 

I tried it on amd64 CURRENT and it still fails to align if I set
16K as alignment. So I guess i386 may also have the same issue. As
you said I also wonder why contigmalloc(9) does not honor the
alignment.


More information about the freebsd-sparc64 mailing list