Hi Ollie,
On Wednesday 09 August 2006 17:26, ollie wrote:
On Tue, 2006-08-08 at 20:53 +0200, Juergen Beisert wrote:
BTW, how "native" is your driver? Do you rd/wrmsr all the operations?
rd/wrmsr? What does it mean?
I am using the native PCI hardware and its registers only. AC97 works, I can configure the AC97 codec. Only sending/capturing audio data is missing...
I am sorry that I didn't RTFM but is that there is no physical PCI stuff in the GX1 too? Every PCI CS registers are emulated by the VSA software. Is the 5530 a real and physical PCI device?
The VSA only emulates a soundblaster. So all accesses to legacy io-space will trap if enabled. I'm working with the PCI registers. There are *physical* registers to communicate with the external AC97 codec and to setup the master DMA engines (PCI function #3 of the kahlua chip is the audio function). FBAR3 points to 128 bytes memory mapped register space that I'm using.
$ lspci -v [...] 00:12.3 Multimedia audio controller: Cyrix Corporation 5530 Audio [Kahlua] Flags: bus master, medium devsel, latency 0 Memory at 40011000 (32-bit, non-prefetchable) [size=128] [...]
Offset Function ------------------------------------------------------ 00..03 Codec GPOIO Status Register 04..07 Codec GPIO Control Register 08..0B Codec Status Register 0C..0F Codec Command Register 10..11 SMI Status Mirror Register 12..13 SMI Status Register 14..17 SMI Trap Status Register 18..19 SMI Trap-Enable Register 1A..1B IRQ Emulation Enable 1C..1D IRQ Emulation Control 1E..1F IRQ Emulation Mask 20..27 DMA Master 0 engine (Playback) 28..2F DMA Master 1 engine (Capture) 30..3F DMA Master 2 engine (Modem out) 38..3F DMA Master 3 engine (Modem in) 40..47 DMA Master 4 engine (Mono out/Modem handset) 48..4F DMA Master 5 engine (Micro in/Modem handset) 50..7F reserved? (no docu available)
Regards, Juergen