Hi Bryan,
On Tuesday 08 August 2006 21:33, Bryan E. Chafy wrote:
Are you porting the FreeBSD geode gx1 native audio driver to linux? ie: http://alumni.cse.ucsc.edu/%7Ebrucem/gx_audio/
Here is the current driver. Does not work correctly yet. I have two Geode GX1 systems here: One with regular BIOS (and SMM software) that is currently working and a second one (different manufacturer) with a not complete LinuxBIOS (not working yet). My tests are running on the BIOS based system yet. So maybe some of my problems are founded in interference with the SMM. -> Someone clears my Bus Master Control bit soon or later, but not my driver :-(
There are some open questions the datasheet not answers:
- How does the Audio Bus Master 0 (and 1) handle the data in memory? I think left and right audio sample (16 bit each) in one 32 bit word. Correct? What sample in the upper, what in the lower bits? - Reading back any PRD pointer from hardware register always has bit 0 set. Datasheet says to set the lower two bits to 0. Maybe this bit has a meaning? Status?
I did not understand completly how the PCM framework works yet. So I don't know what happens if the master DMA unit reaches the last PRD in the chain (I did not reach this point yet, someone clears the Bus Master Control bit...). This PRD points back to the first PRD. But this would play the same samples ever and ever...
Any comments and ideas are appreciated.
Regards, Juergen