ALSA: emu10k1: Emu10k2 32 bit DMA mode
authorPeter Zubaj <pzubaj@marticonet.sk>
Tue, 28 Apr 2015 19:57:29 +0000 (21:57 +0200)
committerSasha Levin <sasha.levin@oracle.com>
Sun, 17 May 2015 23:12:36 +0000 (19:12 -0400)
commitea4b18887e1f454aa650952f3033a38e777d0891
tree6603d472b8097487d72a695d4931a26573ad51ae
parent79f0cbcc9a4287d966fd7fb259b3cb4f54f99913
ALSA: emu10k1: Emu10k2 32 bit DMA mode

[ Upstream commit 7241ea558c6715501e777396b5fc312c372e11d9 ]

Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two
modes for DMA. Second mode is useful for 64 bit os with more then 2 GB
of ram (fixes problems with big soundfont loading)

1) 32MB from 2 GB address space using 8192 pages (used now as default)
2) 16MB from 4 GB address space using 4096 pages

Mode is set using HCFG_EXPANDED_MEM flag in HCFG register.
Also format of emu10k2 page table is then different.

Signed-off-by: Peter Zubaj <pzubaj@marticonet.sk>
Tested-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
include/sound/emu10k1.h
sound/pci/emu10k1/emu10k1_callback.c
sound/pci/emu10k1/emu10k1_main.c
sound/pci/emu10k1/emupcm.c
sound/pci/emu10k1/memory.c