Audio on Sunblade 100

Marius Strobl marius at alchemy.franken.de
Tue Aug 18 19:27:52 UTC 2009


On Mon, Aug 17, 2009 at 11:56:12PM +0200, Marius Strobl wrote:
> On Mon, Aug 17, 2009 at 10:53:40PM +0200, Marius Strobl wrote:
> > On Fri, Aug 07, 2009 at 07:58:40PM +0200, Christian Ramseyer wrote:
> > > Hi
> > > 
> > > I'm trying to get sound on a Sunblade 100 with 7.2R. I've added
> > > 
> > > device          sound
> > > device          snd_t4dwave
> > > 
> > > to the kernel and recompiled. pciconf shows an attached driver:
> > > 
> > > pcm0 at pci0:0:8:0:        class=0x040100 card=0x545110b9 chip=0x545110b9
> > > rev=0x01 hdr=0x00
> > >     vendor     = 'Acer Labs Incorporated (ALi/ULi)'
> > >     device     = 'ALI M5451 PCI AC-Link Controller Audio Device'
> > >     class      = multimedia
> > >     subclass   = audio
> > > 
> > > However, there are errors in dmesg:
> > > 
> > > pcm0: <Acer Labs M5451> port 0x900-0x9ff mem 0x424000-0x424fff at device
> > > 8.0 on pci0
> > > pcm0: <Analog Devices AD1881A AC97 Codec>
> > > pcm0: [GIANT-LOCKED]
> > > pcm0: [ITHREAD]
> > > pcm0: chn_init(pcm0:record:dsp0.r0) failed: err = 19
> > > pcm0: pcm_chn_create(trrchan, -1, 0xfffff80001370800) failed
> > > pcm0: chn_init(pcm0:play:dsp0.p0) failed: err = 19
> > > pcm0: pcm_chn_create(trpchan, 1, 0xfffff80001370800) failed
> > > 
> > > I've also found this message from 2006:
> > > http://lists.freebsd.org/mailman/htdig/freebsd-sparc64/2006-June/004168.html
> > > 
> > > So, am I just doing something wrong or are there problems with 5451
> > > audio on SPARC? I see that the release notes only list i386 and amd64 as
> > >  architectures for the t4dwave driver.
> > > 
> > > By the way, thanks a lot for all the work your guys are doing in general
> > > and for the SPARC port in particular. I'm currently trying BSD for the
> > > first time in my life and I like it a lot. It runs surprisingly well on
> > > this outdated platform.
> > > 
> > 
> > Could you (or any other Blade 100 user) please give the following
> > patch at try?
> > http://people.freebsd.org/~marius/t4dwave_sparc64_32-bit.diff
> > This gets at least the line-out of the M5451 in my Blade 1500
> > working (I've no idea whether its internal speaker is also
> > connected to the sound chip like for example in a Blade 1000
> > and thus supposed to also work or just to a PC-style beeper,
> > the firmware at least makes it beep that way...), but which
> > also has a newer revision of this chip.
> > 
> 
> Looks like I've spoken to soon; it only works when it happens
> to get certain buffer addresses, otherwise nothing is played
> and the interrupt times out (which according to google isn't
> a sparc64 specific problem). This probably means that some
> bus_dma(9) parameters are incorrect...
> 

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
This version now also basically works with the GENIALstation
777s, but there seems to be a problem with ac94(4) on that
machine or it's wired strangely as I've to turn on the
"PhoneOut" output in the mixer in order to get sound and its
quality is likewise, though with the Blade 1500 all seems
fine. If someone could test how far this patch gets things
into working with Blade 100 that would be great.

Marius



More information about the freebsd-sparc64 mailing list