[alsa-devel] Aureal issues on resume

Raymond Yau superquad.vortex2 at gmail.com
Fri Sep 16 04:16:11 CEST 2011

2011/9/12 Takashi Iwai <tiwai at suse.de>:
> At Mon, 12 Sep 2011 09:53:28 +0200,
> Takashi Iwai wrote:
>> At Sun, 04 Sep 2011 22:32:44 +0200,
>> Clemens Ladisch wrote:
>> >
>> > Raymond Yau wrote:
>> > > The possible way is to save the contents of 128K memory mapped I/O
>> > > ports before suspend to non-volatile memory and restore them after
>> > > resume
>> > >
>> > > Is there any way for alsa driver to allocate non-volatile memory ?
>> >
>> > 'Normal' memory is saved over suspend.  Just use {k|v}malloc.
>> If it's a 128kB bulk memory, vmalloc() is a more sensible choice.
> BTW, in many cases, you don't have to save/restore the whole mmio
> region.  Instead, stop the stream, save / restore some important
> registers and do the similar procedure for the normal prepare callback
> in the resume, and restart the stream again.
> Takashi

The current au8830 alsa driver seem use less than 192Kbytes out of
256Kbytes mmio


your patch seem initialse the request queue in figure 16 of pat 6167465

and the driver need to restore mixer and equalizer mmio for au8830 in figure 13

04:02.0 Multimedia audio controller: Aureal Semiconductor Vortex 2 (rev fe)
	Subsystem: Aureal Semiconductor AU8830 Vortex 3D Digital Audio Processor
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (1000ns min, 3000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 23
	Region 0: Memory at ff7c0000 (32-bit, non-prefetchable) [size=256K]
	Region 1: I/O ports at bc00 [size=8]
	Region 2: I/O ports at b880 [size=8]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: au8830
	Kernel modules: snd-au8830

More information about the Alsa-devel mailing list