On Tue, 2006-08-08 at 08:47 +0200, Juergen Beisert wrote:
Hi Ronald,
On Monday 07 August 2006 22:48, Ronald G Minnich wrote:
On Monday 07 August 2006 11:19, myself wrote:
I try to write a native sound driver for the Geode GX1/5530a Companion chip. Problem here: The sound chip only generates SMI. Does anyone knows a trick or a chipset switch that let me forward this SMI to a regular IRQ? Its too ugly to use a polling loop.... ;-)
Sorry. I think I must explain: I'm using linuxbios on this Geode system, so there is no SMM emulation of the sound hardware. Thats why I'm searching for a solution to forward the SMI to a regular IRQ. Has someone experience in programming this SMM code? Maybe a short routine that only triggers a regular interrupt when an SMI occures would help.
Is there some reason to continue to use SMI? why not just drive the hardware directly w/o smi?
Yes, there is: The audio hardware part of the chip can only generate SMI. I didn't find any chipset settings to let it generate a regular IRQ instead. There is only one register to let the SMM software trigger a regular IRQ.
Under what circumstances do you want the audio device generate SMI? If you just want to translate SMI to IRQ for DMA completion like other sound devices do, it should not be difficult to write a small SMM code to do that.
Ollie