[LinuxBIOS] Geode GX1/5530: How to forward SMI to a regular IRQ

Juergen Beisert juergen127 at kreuzholzen.de
Fri Sep 1 22:48:32 CEST 2006


Hi Jonathan,

On Friday 01 September 2006 15:02, you wrote:
>  I am catching up on some LB threads in my Inbox, and found this one.  I
> don't have anything technical to contribute, but am definitely interested
> in your progress!  To have Kahlua audio without VSA would be fantastic!
>
>  Good luck, and keep us updated on your progress.

Thanks, here it comes.

Its state is: "it works for me". I can play sounds and MP3s with it.

It was easier to poll the SMI status bits than to forward an SMI to a regular 
IRQ. So I divide my driver into two parts: One for SMI polling, and one for 
kahlua sound. The sound drivers registers itself by the SMI handler, to get 
called whenever an SMI related to the sound chip occures. That does not work 
very well under heavy load!
But: On a 233MHz Geode with VSA BIOS playing network radio the system has 50% 
to 60% load (Sound Blaster Emulation with 2.4.x kernel). On my 300Mhz Geode 
with LinuxBios and my native sound driver playing an MP3 has a load of 3% to 
5%.

Some problems are still unresolved:
  - very short sounds do not stop at the end. The stop command from the
    ALSA framework is always to late, so a little piece of the last period
    will be repeated like an echo (due to ring buffering)
  - I'm not sure if the AC97 codec programming interface works correctly.
    Sometimes the ALSA framework finds two codecs, sometime only one (but one
    is correct). And most of the times the alsamixer "forgets" that the master
    volume also has a "mute" bit. So I have to change the bit manually to hear
    anything.
  - capturing is completely untested, it only compiles yet. 
  - high system load increases the SMI polling latency. So some sound periods
    gets repeated.

Comments are welcome (and recommendations how to solve the increasing SMI 
polling latency under heavy system load). Attached a quilt stack for a 2.6.17 
kernel.

Regards
Juergen

PS: I'm on holiday next week, without email access ;-) Back Sun, 10th.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kahlua-native-sound-2.6.17.tar.bz2
Type: application/x-tbz
Size: 12325 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20060901/b4f5ac40/attachment.bin>


More information about the coreboot mailing list